shiro权限设置

一、前端页面权限控制

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


             jsp code

控制方式详解:

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

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

2、在页面中使用标签


             jsp code

二、后台控制器权限控制

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

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

A、控制方式详解:

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

  2. 配置事务注解,强制使用cglib代理

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

  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

    ...
}
```

你可能感兴趣的:(spring,java)