首页 > 其他 > 详细

shiro权限控制

时间:2019-05-10 00:10:32      阅读:127      评论:0      收藏:0      [点我收藏+]

说在前面:

一、我们将使用的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的类名

 

六、权限授权

技术分享图片

 

shiro权限控制

原文:https://www.cnblogs.com/allenyip/p/10841772.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!