shrio理解:
来源:互联网 发布:白板软件下载 编辑:程序博客网 时间:2024/05/19 07:27
shrio理解:
(1)在web.xml中通过监听的方式集成shrio,代理的过滤器和配置文件
(2)配置shrio主配置文件中:
主配置:shrio的过滤工厂类:
注入安全管理器复写:登陆时调用用户信息的方法
登录成功后,查询数据库角色权限,给当前用户授权
以及一个工具类,在登录验证方法中,返回token后setSession信息(能返回token就是验证成功)
(主要负责登录发起验证请求,及成功之后的系列过程中方法)
注入带有生成token,验证通过,未验证同过方法的滤器,在有用户尝试登陆的时候,会自动拦截生成token对象,验证通过,未通过自动调用的方法
(主要是预前,善后方法)
分别对应登录成功,登录失败,初始访问系统的一些相关属性,类似struts的拦截跳转
(主要对应结果)
(3)spring的方法反射调用共场(指定权限验证时使用的安全管理器)(xml中指定,之后这里也要指定的安全管理器)
整个过程:
启动服务器,通过web.xml文件,加载shrio,访问是自动拦截跳转到过滤工厂指定的login页面,
发起登录请求(输入用户名,密码等)后拦截调用安全管理器的登录方法,善后过滤器会事先生成一个token信息对象,一旦登录成功,调用角色,权限的赋予方法,然后调用配置的带有善后工作的过滤器
(配置在shrio过滤器工厂类的最后),发出放行指令,结合shrio过滤器工厂类的跳转配置,跳转,否则,善后过滤器调用拒绝登录方法,发出拒绝的跳转指令此时结合配置跳转,类似还有拒绝认证(无权限)
访问单个页面的指令
下面的只要是方法(bean)级别的控制
<!-- 保证实现了Shiro内部lifecycle函数的bean执行 -->
<bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/>
<!-- 开启Shiro的注解(如@RequiresRoles,@RequiresPermissions),需借助SpringAOP扫描使用Shiro注解的类,并在必要时进行安全逻辑验证 -->
<!-- 配置以下两个bean即可实现此功能 -->
<!-- Enable Shiro Annotations for Spring-configured beans. Only run after the lifecycleBeanProcessor has run -->
<!-- 这里未使用Shiro注解,故注释掉这两个bean(个人觉得将权限通过注解的方式硬编码在程序中,查看起来不是很方便,没必要使用) -->
<!--
<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor"/>
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
<property name="securityManager" ref="securityManager"/>
</bean>
-->
(1)在web.xml中通过监听的方式集成shrio,代理的过滤器和配置文件
(2)配置shrio主配置文件中:
主配置:shrio的过滤工厂类:
注入安全管理器复写:登陆时调用用户信息的方法
登录成功后,查询数据库角色权限,给当前用户授权
以及一个工具类,在登录验证方法中,返回token后setSession信息(能返回token就是验证成功)
(主要负责登录发起验证请求,及成功之后的系列过程中方法)
注入带有生成token,验证通过,未验证同过方法的滤器,在有用户尝试登陆的时候,会自动拦截生成token对象,验证通过,未通过自动调用的方法
(主要是预前,善后方法)
分别对应登录成功,登录失败,初始访问系统的一些相关属性,类似struts的拦截跳转
(主要对应结果)
(3)spring的方法反射调用共场(指定权限验证时使用的安全管理器)(xml中指定,之后这里也要指定的安全管理器)
整个过程:
启动服务器,通过web.xml文件,加载shrio,访问是自动拦截跳转到过滤工厂指定的login页面,
发起登录请求(输入用户名,密码等)后拦截调用安全管理器的登录方法,善后过滤器会事先生成一个token信息对象,一旦登录成功,调用角色,权限的赋予方法,然后调用配置的带有善后工作的过滤器
(配置在shrio过滤器工厂类的最后),发出放行指令,结合shrio过滤器工厂类的跳转配置,跳转,否则,善后过滤器调用拒绝登录方法,发出拒绝的跳转指令此时结合配置跳转,类似还有拒绝认证(无权限)
访问单个页面的指令
下面的只要是方法(bean)级别的控制
<!-- 保证实现了Shiro内部lifecycle函数的bean执行 -->
<bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/>
<!-- 开启Shiro的注解(如@RequiresRoles,@RequiresPermissions),需借助SpringAOP扫描使用Shiro注解的类,并在必要时进行安全逻辑验证 -->
<!-- 配置以下两个bean即可实现此功能 -->
<!-- Enable Shiro Annotations for Spring-configured beans. Only run after the lifecycleBeanProcessor has run -->
<!-- 这里未使用Shiro注解,故注释掉这两个bean(个人觉得将权限通过注解的方式硬编码在程序中,查看起来不是很方便,没必要使用) -->
<!--
<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor"/>
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
<property name="securityManager" ref="securityManager"/>
</bean>
-->
0 0
- shrio理解:
- shrio
- Shrio
- shrio入门
- shrio入门
- shrio学习
- shrio配置
- Shrio-004
- Shrio-005
- Shrio-007
- apache shrio 入门示例
- springMvc +Hiberbnate +shrio 实战
- springmvc集成shrio
- shrio的使用
- Redis-shrio集成
- 30分钟学会shrio
- Shrio-学习总结-简介
- shrio验证cookie有效性
- 基于Single-pass的文本话题聚类
- Jedis之ShardedJedis一致性哈希分析
- resulyType查到null,但是有结果条数
- mysql 5.7解压缩版安装教程,附无法启动的问题
- ASN.1探索 - 3 编码规则与传输语法(3
- shrio理解:
- 外键约束
- 登录login
- jQuery源码初探(4)
- Island Perimeter
- 项目结构设计;
- HBase 常用Shell命令
- mybatis关联查询有两种
- 面试经典的海量数据处理(TOPK)问题—转载+个人见解!