shiro权限管理

  


 

 

 1 <!-- 配置Shiro核心Filter 同名bean --> 
 2     <bean id="shiroFilter" 
 3         class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
 4         <!-- 安全管理器 -->
 5         <property name="securityManager" ref="securityManager" />
 6         <!-- 未认证,跳转到哪个页面  -->
 7         <property name="loginUrl" value="/login.html" />
 8         <!-- 登录页面页面 -->
 9         <property name="successUrl" value="/index.html" />
10         <!-- 认证后,没有权限跳转页面 -->
11         <property name="unauthorizedUrl" value="/unauthorized.html" />
12         <!-- shiro URL控制过滤器规则  -->
13         <property name="filterChainDefinitions">
14             <value>
15                 /login.html* = anon
16                 /user_login.action* = anon 
17                 /validatecode.jsp* = anon
18                 /css/** = anon
19                 /js/** = anon
20                 /images/** = anon
21                 /services/** = anon 
22                 /pages/base/courier.html* = perms[courier:list]
23                 /pages/base/area.html* = roles[base]
24                 /** = authc
25             </value>
26         </property>
27     </bean>

补充: 权限表达式 “:”代表子权限 

 举例:权限 courier  包含 courier:add、courier:list、courier:* ,如果用户具有父权限,操作

所有子权限功能 

 

<!-- 安全管理器  -->
    <bean id="securityManager" 
        class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"> 
        <property name="realm" ref="bosRealm" />
        <property name="cacheManager" ref="shiroCacheManager" />
    </bean>

   

 

四种主要方式 :

1、  在程序中 通过 Subject 编程方式进行权限控制 

2、  配置 Filter 实现 URL 级别粗粒度权限控制

 

3、 配置代理,基于注解实现细粒度权限控制 

 

4、 在页面中使用 shiro 自定义标签实现 页面显示权限控制

(1)

 (2)

 

 

posted @ 2018-01-07 16:24  sylar_ghol  阅读(147)  评论(0)    收藏  举报