初识shiro

本文介绍Shiro权限管理系统的核心组件及工作流程,包括安全管理器、认证器、授权器等关键对象的作用,以及编程式、注解式和标签式的授权方式。

1.shiro流程:

1.1.使用数据源,也就是RealM初始化SecurityManagerFactory.

1.2.得到SecurityManager(安全管理器).

1.3.设置到SecutiryUtils.

1.4.得到subject,使用认证服务.

2.权限管理包括用户认证和授权两个部分.

3.关键对象:

3.1.subject:主体

3.2.securityManager:安全管理器

3.3.Authenticator:认证器(身份认证,登陆)

3.4.Authorizer:授权期(判断用户是否有此权限,包括角色,权限)

3.5.realm:领域(SecurityManager通过realm获取用户权限数据)

3.6.SessionManager:会话管理,实现单点登陆

3.7.SessionDao:会话Dao,将session储存到数据库中

3.8.CacheManager:缓存管理,用户权限数据存储在缓存

3.9.Cryptography:密码管理,提供了一套加密/解密工具

4.shiro的三种授权方式:

4.1.编程式:通过写if/else授权

4.2.注解式:通过在执行的方法上放置相应的注解

4.3.JSP/GSP标签:在JSP/GSP页面通过相应的标签完成

5.shiro所做的事:

5.1.验证用户

5.2.对用户执行访问控制:用户是否拥有角色,用户是否拥有访问权限

5.3.在任何环境下使用session API

5.4.可以使用多数据源

5.5.单点登陆(sso)

5.6."Remember me"服务

6.shiro的过滤器在spring的applicationContext.xml中

认证过滤器:

anon,authcBasic,auchc,user

授权过滤器:

penms,rest,roles,port,ssl

7.粗、细粒度权限:

粗粒度管理就是对资源类型的权限管理

细粒度管理就是对数据级别的权限管理

8.散列次数相当于md5的次数,盐+散列值组成密码.

9.shiro不提供维护用户/权限的功能,而是通过Realm让开发人员自己注入.(Realm在applicationContext.xml配置)

10.shiro集成spring:

10.1在web.xml中配置shiroFilter拦截器

10.2在spring文件中配置shiroFilter,sericutyManager,realm

11.在web.xml中设置shiroFilter会拦截到css,js静态文件,所以需要在spring配置中将这些文件过滤掉,将这些文件设置成anno.

12.当调用SecurityUtils.getSubject().login(token)的时候,会调用自定义realm中的认证方法.

remark:

1.shiro简单使用:http://www.cnblogs.com/snidget/p/3811995.html

2.shiro内置的FilterChain:http://www.tuicool.com/articles/rmE3U3

转载于:https://my.oschina.net/Tsher2015/blog/654993

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值