shiro权限管理

本文介绍如何使用Shiro进行权限管理配置,包括未认证跳转、登录成功跳转及无权限跳转设置,并展示了URL级别的权限控制规则及安全管理器配置。

  


 

 

 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)

 

 

转载于:https://www.cnblogs.com/gholxu/p/8228322.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值