zoukankan      html  css  js  c++  java
  • 个人技能总结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的相关配置文件。

    等待补充。。。。。。

  • 相关阅读:
    在安装ODAC后再安装.netframework导致应用程序无法找到.netframework data provider的解决方案(3种)
    浅谈Scrum敏捷开发:4个输入/输出、3个关键物、3个会议
    Payoneer个人账户注册申请教程
    巧用netsh命令实现端口转发(端口映射)不求人
    京东也开始欺骗消费者了
    powershell解决win10开始菜单和通知中心无法打开
    有些其他程序设置为从 Outlook 下载并删除邮件。为防止发生此意外情况,我们将这些邮件放入一个特殊的 POP 文件夹中
    maven搭建
    java面试第四弹(算法和编程)思路
    每秒处理10万高并发订单的乐视集团支付系统架构分享
  • 原文地址:https://www.cnblogs.com/ycmxm/p/6865861.html
Copyright © 2011-2022 走看看