• 个人技能总结1:Shiro框架


    shiro三大核心模块:Subject(用户)、SecurityManager(框架心脏)、Realm(Shiro与应用安全数据间的“桥梁”) 

    shiro重要的一个组件:SecurityManager

    spring整合Shiro的配置:

    1.导入相应的jar包;

    2.在web.xml中配置shiro的过滤器;

    3.配置spring-shiro的配置文件:

      

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd" default-lazy-init="false">
    
      <description>shiro项目安全配置</description>

    <!-- 继承自AuthorizingRealm的自有Realm --> <!-- 内存缓冲 --> <!-- 安全管理器 --> <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"> <property name="realm"> <bean class="" /> </property> <property name="cacheManager"> <bean class="" /> </property> </bean> <!-- 保证实现了Shiro内部lifecycle函数的bean执行 --> <bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor" /> <!-- AOP式方法级权限检查,启用注解 --> <bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor"> <property name="proxyTargetClass" value="true" /> </bean> <bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor"> <property name="securityManager" ref="securityManager" /> </bean> <!-- Shiro Filter --> <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean" depends-on="securityManager"> <property name="securityManager" ref="securityManager" /> <property name="loginUrl" value="/login" /> <property name="successUrl" value="/main" /> <property name="unauthorizedUrl" value="/login.jsp" /> <property name="filterChainDefinitions"> <value> /login = authc /logout = logout /res/** = anon /login.jsp = anon /nav/** = anon /files/** = anon /interface/** = anon /capture/** = anon /flow/** = anon /brand/** = anon /weather/** = anon /** = authc </value> </property> </bean> </beans>

      配置相关的参数:

      ①.securityManager:这个属性是必须的。

      ②.loginUrl:没有登录的用户请求需要登录的页面时自动跳转到登录页面,不是必须的属性,不输入地址的话会自动寻找项目web项目的根目录下的”/login.jsp”页面。

      ③.successUrl:登录成功默认跳转页面,不配置则跳转至”/”。如果登陆前点击的一个需要登录的页面,则在登录自动跳转到那个需要登录的页面。不跳转到此。

      ④.unauthorizedUrl:没有权限默认跳转的页面。

      ⑤.filterChainDefinitions:

    4.在spring配置文件中添加spring-shiro的配置:

      <!-- 支持 Shiro对Controller的方法级AOP安全控制 begin   -->
      <bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor">
        <property name="proxyTargetClass" value="true" />
      </bean>
      <bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
          <property name="securityManager" ref="securityManager"/>
      </bean>
      <!--  Shiro end -->

    5.在xml中引入spring-shiro的配置文件和spring的相关配置文件。

    等待补充。。。。。。

  • 相关阅读:
    胜利大逃亡
    求最小环
    Prime算法
    网站根目录下没有正确的DNT.config文件 (不同类型错误更新中)
    Day4_代码重用与函数
    Day1_算法分析方法
    Day3_字符串操作与正则表达式
    错误解决一_call time passbyreference removed
    Day1_PHP快速入门
    silverlight 动态加载树形菜单[带图标],方法一
  • 原文地址:https://www.cnblogs.com/ycmxm/p/6865861.html
Copyright © 2020-2023  润新知