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
 Solon
 Solon