solon-web-sdl
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-web-sdl</artifactId>
</dependency>
1、描述
校验扩展插件,本质是 “solon-security-validation” LoginedChecker 接口的能力适配。为 Solon Web 提供简单的 “单设备登录 ”支持(是否使用令牌无所谓)。v2.2.11 后支持
2、代码应用
- 配置与构建
demo.redis:
server: "localhost:6379"
@Configuration
public class SdlConfig {
@Bean
public SdlStorage sdlService(@Inject("${demo.redis}") RedisClient redisClient) {
//确定 Sdl 的标识存储器 //临时测试也可以用 SdlStorageOfLocal //也可以自己实现个
return new SdlStorageOfRedis(redisClient);
}
@Bean
public LoginedChecker sdlLoginedChecker() {
//确定登录注解的检测器
return new SdlLoginedChecker();
}
}
- 代码应用:登录示意代码
@Controller
public class LoginController {
@Mapping("/login")
public void login(String username, String password){
if (username == "test" && password == "1234") {
//获取登录的用户id
long userId = 1001;
//登录
SdlUtil.login(userId);
}
}
@Mapping("logout")
public void logout() {
//退出
SdlUtil.logout();
}
}
- 代码应用:SDL 校验示意代码
@Logined //可以使用验证注解了,并且是基于 sdl 进行校验的
@Controller
public class AdminController extends BaseController{
@Mapping("test")
public String test(){
return "OK";
}
}
3、了解手动控制接口
因为定位简单的,所以只提供三个接口
接口 | 说明 |
---|---|
SdlUtil.login(userId) | 登录 |
SdlUtil.logout() | 退出当前用户 |
SdlUtil.isLogined() | 判断是否已登录 |
具体可参考
https://gitee.com/noear/solon-examples/tree/main/3.Solon-Web/demo3025-sdl