用途:面向 Sa-Token 的高级安全能力,适用于敏感操作二次验证、账号违规处罚、后台模拟用户、多套账号体系、全局事件记录与密码加密存储等场景。基础登录鉴权、SSO、OAuth2.0、微服务鉴权不在本技能范围。
主要能力:二级认证提供 openSafe()/checkSafe() 与 @SaCheckSafe 敏感操作二次验证;账号封禁支持全封禁、分类封禁与阶梯封禁;身份切换提供 switchTo()/endSwitch() 模拟其他账号;多账号认证支持 StpUserUtil 与 StpKit 门面模式;全局侦听器实现 SaTokenListener 接口监听登录、注销、踢人、封禁等 11 种事件;全局过滤器提供 SaServletFilter 与 SaReactorFilter 统一安全头;密码加密含 MD5、SHA、AES、RSA、BCrypt 及 TOTP;另含会话查询、Http Basic/Digest、IP 黑白名单与频率限制、自定义注解等。
使用方式:先明确需求(二级认证/封禁/多账号/侦听器等),按 API 编写代码,再注册侦听器、配置过滤器、定义多账号体系,最后测试验证。核心 API 示例:StpUtil.openSafe("update-password"); StpUtil.disable(10001, "comment", 200); StpUtil.disableLevel(10001, "comment", 2, 200); StpUtil.switchTo(10001); StpUserUtil.login(10001); StpKit.admin.login(10001); SaSecureUtil.md5("123456"); SaTokenEventCenter.registerListener(listener); StpUtil.searchTokenValue(keyword, start, size, sort);。
限制:所有功能基于 sa-token-core,部分需登录后使用;侦听器需注册到 Spring 容器;多账号需自行定义账号体系名称;默认封禁存于内存,重启丢失,可实现 StpInterface.isDisabled() 自定义;二级认证默认有效期 120 秒;Http Basic 账号密码为明文,需配合 HTTPS。基础登录鉴权、SSO、OAuth2.0、微服务鉴权请使用对应独立技能。