shiro权限控制

说在前面:

一、我们将使用的API记住

IniSecurityManagerFactory : 用于加载配置文件,创建SecurityManager对象

SecurityManager :就是整个Shiro的控制对象

SecurityUtils :SecurityManager 工具类,用于获得Subject对象

Subject :身份类

UsernamePasswordToken: 身份信息构建类 (Token 令牌)

AuthorizingRealm :支持校验与授权的Realm

AuthenticationInfo :校验成功返回的信息的父类

SimpleAuthenticationInfo :校验成功返回信息类

AuthorizationInfo 授权成功返回的信息类的父类

PrincipalCollection 授予是获得验证信息的类

SimpleAuthorizationInfo 授权成功返回的信息类的实现类

Md5Hash : Md5加密类

ByteSource : 用于构造Md5加盐的类。

HashedCredentialsMatcher :Md5算法校验器,用于支持Md5校验

 

二、入门实例

1.入门实例
  
  ①导包
  

  ②在src下创建shiro.ini配置文件
  

  ③创建测试类
    a、使用IniSecurityManagerFactory读取配置文件,并通过SecurityManager创建一个操作shiro控制对象的实例
    b、通过SecurityUtils获得一个身份对象,需要先setSecurityManager
    c、通过UsernamePasswordToken设置参数,再通过SecurityManager实例的login登陆验证

三、权限验证

说在前面:Shiro是通过Realm机制,实现将配置文件的校验用户信息存放在数据库、LDAP等数据存储系统里面。

  首先我们先进行简单的权限验证

    1.创建MyRealm类,继承AuthorizingRealm,重写其中的doGetAuthenticationInfo方法,返回info

         ①判断如果用户名和token(页面传过来)中的值是否相等,相等返回验证信息SimpleAuthenticationInfo

         ②修改shiro.ini配置文件:

         

四、shiro加密算法

1.创建md5测试类,

2.修改MyRealm中的代码

3.修改shiro.ini配置文件支持MD5算法

 

五、使用pojo获取返回对象

1.创建pojo类,有id、name、pwd基本属性

2.修改myrealm中的代码

3.在shirotest中测试:将获取的对象信息强转成pojo对象

 

注意返回的校验对象:

1.principal : 返回的验证通过后信息, 接收方通过subject对象接收
2.credentials:设置密码
3.返回realm的名称,可以任何设置一个唯一的字符串就可以,一般设置realm的类名

 

六、权限授权

 

转载于:https://www.cnblogs.com/allenyip/p/10841772.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值