[TOC]
>[success] lcfms的用户权限分为两个部分,第一部分为是否拥有访问某一个控制器的权限,第二部为后台菜单是否显示的权限
## 控制器权限
### 1、为控制器添加权限注解,可以注解在类名上,也可以注解在方法名上
```
package cn.lcfms.app.admin.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import cn.lcfms.app.BaseController;
import cn.lcfms.bin.annotation.PermitPoll;
@PermitPoll(type = "测试权限")
@Controller("admin.TestController")
@RequestMapping("/admin/test")
public class TestController extends BaseController{
@RequestMapping("/initA")
public String initA() {
return "{code:1}";
}
@PermitPoll(type = "测试权限")
@RequestMapping("/initB")
public String initB() {
return "{code:2}";
}
}
```
>[info]注解在类上与方法上有什么不同?
>1、如果只注解在类上,那么意味着该类下所有方法都自动同步该类的权限。
>2、如果只注解在方法上,那么意味着只有该方法才设置有权限。
>3、既注解在类上,又注解在方法上,则以方法上的权限为准。
### 2、后台为角色绑定权限
![](https://box.kancloud.cn/8549798076c23ce826b12ddf386255c0_1136x470.png)
>[info]在角色管理中,勾选上对应的控制器,那么该角色就绑定了该控制器的权限。
### 3、后台为用户绑定角色
![](https://box.kancloud.cn/e59f3e77a2c78a61e06a004bcfb27d96_1132x521.png)
>[info]同一个用户支持多个角色,该用户拥有的权限为所有角色权限的叠加
### 4、注解参数解释
```
@PermitPoll(type = "测试权限",name="别名",url="abc.txt",msg="您没有权限访问")
@RequestMapping("/initB")
public String initB() {
return "{code:2}";
}
```
>[info]1、type属性:配置权限时分组的组名
>2、name属性:配置权限时别名
>3、url属性:当用户没有登陆,没有权限时跳转的地址,使用的是相对于首页的相对路径
>4、msg属性:当用户已经登陆,没有权限时返回给用户的信息
>5、当用户使用ajax请求时,没有权限,将返回{"code":0,"msg":"msg注解值","url":"url注解值"}
![](https://box.kancloud.cn/d23cdea2b473541d5774488ef6862f48_1141x478.png)
### 5、使用@PermitPoll(type = "all")注解例外权限
>[info] 控制器的类使用了权限注解,则访问该类的所有方法都需要权限,但是如果该类的某一个方法不想要权限时,可以使用@PermitPoll(type = "all")来注解
### 6、没有使用权限注解的控制器所有人都可以访问
## 菜单权限
### 1、统一为角色分配菜单
![](https://box.kancloud.cn/786147edb92276d8e525e93b99e0b6bc_783x516.png)
### 2、为单个菜单绑定角色
![](https://box.kancloud.cn/1d515a91e806003cdfb6e44b8c818ffb_829x485.png)
- 系统入门
- 系统简介
- 目录结构
- 系统配置
- 应用
- 应用
- 控制器
- 模板
- 自定义标签
- 用户信息
- 调试
- 调试模式
- 使用Vardump打印
- 访问数据库
- 数据库配置
- Dao模式
- BaseService模式
- 获取对象
- 插入
- 修改
- 删除
- 查询
- where方法
- column方法
- join方法
- 其他查询方法
- 操作集合
- sql方法
- 查询回调接口
- 使用别名
- 后台验证
- 同步表结构
- 使用事务
- 数据分页
- 通用视图模板
- CommonPageView
- CommonPageLayer
- CommonTreeView
- CommonEditView
- CommonEditLayer
- 日志管理
- 后台菜单
- 权限管理
- CMS
- CMS核心
- CMS仿站工具
- CMS采集工具
- websocket
- UI自动生成器
- 缓存
- 自定义缓存
- 生成静态页面
- 表单
- 上传文件
- 前端验证