shiro凭证配置
shiro凭证配置
1、方式一
在自定义realm的构造器中配置凭证匹配器对象
public UserRealm() {
//凭证匹配器对象
HashedCredentialsMatcher matcher=new HashedCredentialsMatcher();
//指定加密算法
matcher.setHashAlgorithmName("md5");
//指定散列次数
matcher.setHashIterations(2);
setCredentialsMatcher(matcher);
}
在用户认证时指定盐
ByteSource byteSource=ByteSource.Util.bytes("yl");
/**
*用户认证
*参数说明:
* 参数1:可以是任意对象,作为用户身份
* 参数2:数据库查询出来的密码
* 参数3:盐
* 参数4:当前类名
*/
SimpleAuthenticationInfo info=newSimpleAuthenticationInfo(activeUser,user.getPassword(),byteSource,this.getName());
2、方式二
通过ini配置文件配置,指定盐的方式同上
[main]
# 创建凭证匹配器对象
matcher= org.apache.shiro.authc.credential.HashedCredentialsMatcher
matcher.hashAlgorithmName=md5
matcher.hashIterations=2
# 创建userReaml对象
userRealm= com.yl.shiro.UserRealm
# 注入凭证匹配器到userReaml
userRealm.credentialsMatcher=$matcher
# 把userReaml注入安全管理器
securityManager.realm=$userRealm
3、方式三
注入自定义realm时指定凭证匹配器,指定盐的方式同上
UserRealm userRealm=new UserRealm();//自定义realm对象
HashedCredentialsMatcher matcher=new HashedCredentialsMatcher();//凭证匹配器对象
matcher.setHashAlgorithmName("md5");//指定加密算法
matcher.setHashIterations(2);//指定散列次数
userRealm.setCredentialsMatcher(matcher);//注入凭证匹配器
记得快乐
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!