shiro权限设置

一、前端页面权限控制

技术:使用shiro标签进行权限控制
示例:

<shiro:hasPermission name="auth.application.add">
             jsp code
</shiro:hasPermission>

控制方式详解:

1、在jsp页面中引入shiro标签库

<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>

2、在页面中使用标签

<shiro:hasPermission name="auth.application.add">
             jsp code
</shiro:hasPermission>

二、后台控制器权限控制

技术:使用shiro注解权限控制
示例:

@RequiresPermissions(value = {"application:save"}, logical = Logical.OR)

A、控制方式详解:

  1. 在spring配置文件spring-config-mvc.xml中配置开启shiro注解支持

  2. 配置事务注解,强制使用cglib代理
    <tx:annotation-driven proxy-target-class=”true” transaction-manager=”transactionManager” />

    备注:项目已声明,无需再次配置。

  3. 在controller配置注解

B、注解详解:
1、功能释义
@RequiresPermissions注解要求当前的Subject被允许一个或多个权限,以便执行注解的方法。

2、参数声明:
logical=Logical.OR 表示设置多个权限;
格式:

```
@RequiresPermissions(value={"xxx:xxx","xxx:xxx"},logical=Logical.OR)
```

3、注解分析

```
        该注解相当于接下来基于Subject的逻辑:
public void createAccount(Account account){
    Subject currentUser = SecurityUtils.getSubject();
    if(!subject.isPermitted("xxx")){
        throw new AuthorizationException(...);
    }

    //Subject is guaranteed to be permitted here

    ...
}
```
  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值