**自学shiro总结**,开始一定要弄清楚Subject(主体),SecurityManager(安全管理),Realm(域,与数据库的桥梁)三者的关系,要进行授权的话一i当药进行认证登录了才可以进

自学shiro总结

要进行授权的话一i当药进行认证登录了才可以进行授权的操作
这个是非常重要的SimpleAuthenticationInfo类的使用
// 数据库操作
// 根据当前的用户名查询用户的个人信息,这里主要是密码

User user = new User();
user.setUserName(username);
// 从数据库中查询出来的用户的真实信息
User userDb = service.getUser(user);
//将密码通过加盐和加密然后在和数据库中查找出的密码进行比较


//第一个参数就是我们需要在保存在shiro中的session中的对象,
// 注入第二参数是从数据库中查询出来的正确的密码,shiro会自动判断,如果此密码和刚才传递的密码不知会上抛异常
//第三个参数是盐,
//第四个参数是自定义的realm的名字,改方法可以重写自己随意更改
SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(userDb,userDb.getUserPassword(),
		ByteSource.Util.bytes(userDb.getSalt()),getName());

return info;
 //从shiro的session中取出我们保存的对象,该对象在登录认证成功后保存的
User user = (User) SecurityUtils.getSubject().getPrincipal();
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值