-
shiro认证
查看全部 -
Shiro的IniRealm 形式:此形式主要是将数据存放到相应的user.ini即文件系统中,通过给定的格式,从文件中查找相应的数据是否存在。
步骤:
1.删除之前SimpleAccountRealm,在实体中创建IniRealm并实例化。在构造方法中传入相应的user.ini地址。此文件地址一般写为:classpath:user.ini的形式。
需要在相应的包中建立resource文件夹,并且放入user.ini文件。
2.user.ini文件的定义格式为:[users] 用户名=密码,角色 [roles] 角色=权限名(例子:amdin=user:delete,user:update)
3.与之前认证与授权步骤一样,直接将IniRealm放入到SecurityManager中,进行登录认证,之后进行checkRoles验证与checkPersimmon验证权限等操作即可。
查看全部 -
Shiro授权
与之前Shiro认证的步骤一样。
只不过在Realm 的SimpleAccountRealm中可以添加addUser的时候,可以添加入多个角色(即可变数组的形式)
同样进行授权验证即检验该登录用户是否具备该角色的时候,使用:
subject.checkRoles(可变参数)的形式检验。
必须在登录的情况下,其他步骤与认证相同。
查看全部 -
Shiro认证
流程:创建Security Manager 管理,然后主体进行数据提交认证,转移到相应的Security Manager中,然后权限管理调用相应的Authenticator认证,认证部分调用相应的Realm去连接数据源进行数据验证。
ps:Realm是在Security Manager中,所以需要设置Realm到Security Manager中,才能调用。
代码实现:
利用Maven管理的方式,首先注入shiro-core的核心包,具体坐标如下:
<groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.2.1</version>
2. 首先建立Security Manager 对象,然后将此对象加入到SecurityUtils的整体环境中。
3.通过SecurityUtils获取相应的主体,主体调用login方法进行登录,需要输入用户名和密码,即主体传来的用户名和密码。
4.验证是否登录通过,则调用subject主体.isAut的方法看是否验证通过。
如果验证失败,密码或者账户错误,则会抛异常。
5.在此之前需要先设置相应的Realm,以找到相应数据库,并且进行验证数据是否对应。设置简单的SimpleAccountRealm,进行实例化。在单元测试之前加入用户数据。在将此Realm加入到权限管理中。即可。
查看全部 -
Shiro整体架构
主体访问Shiro的核心部分,即Security Manager 权限管理。
其中存在认证管理、授权管理、Session管理、缓存管理、SessionDao数据库连接、Realms负责与数据源相连,获取并且返回数据,还有Crp用作对数据进行加密操作等。
流程:当主体访问权限管理器,如果做认证操作,则将数据传入到相应的认证管理器,认证管理器通过Realms访问数据源,返回数据信息进行比对,将结果返回,同理其他的模块也是一样。
查看全部 -
Shiro安全框架:简单灵活、可脱离Spring 独立存在、粒度较粗
Spring Security :复杂笨重、必须依托与Spring、粒度较细
由于权限管理模块一般都是在资源一层,如果更深一层的话,则可能会与业务代码进行耦合,故提倡Shiro做权限管理,Spring官网也是用Shiro进行的权限管理。
查看全部 -
Shiro 是 Apache的开源的安全框架,
主要应用在认证、授权,会话管理、安全加密、缓存管理。
主要应用在权限管理模块的开发。
查看全部 -
Shiro授权过程
查看全部 -
Shiro认证过程
查看全部 -
shiro 可以脱离spring
查看全部 -
shiro架构图
查看全部 -
subject.checkRole()检查用户是否具备角色
subject.login()传入token 登陆认证
simpleAccountRelm.addAccount() 授权器 授权
sa 通过 Realm获取角色数据和权限数据
查看全部 -
shiro与spring security比较
查看全部 -
在web.xml中配置shiro的过滤器
查看全部 -
shiro和spring集成所需的jar包
查看全部
举报