除了配置类,在SpringSecurity中提供了一些访问控制的注解。这些注解默认都是不可用的,需要开启后使用。

@Secured

该注解是基于角色的权限控制,要求UserDetails中的权限名必须以ROLE_ 开头。

在配置类开启注解使用

@SpringBootApplication
@MapperScan("com.neu.mapper")
@Slf4j
@EnableGlobalMethodSecurity(securedEnabled = true)
public class ApplicationMain {public static void main(String[] args) {SpringApplication.run(ApplicationMain.class,args);log.info("服务启动成功");}
}

在控制器方法上添加注解

@Secured("/reportform/find")@GetMapping("/reportform/find")public String findReportform(){return "查询报表";}@Secured("/salary/find")@GetMapping("/salary/find")public String findSalary(){return "查询工资";}@Secured("/staff/find")@GetMapping("/staff/find")public String findTax(){return "查询员工";}

测试

加’ROLE_修改前缀后

@Secured("ROLE_/salary/find")@GetMapping("/salary/find")public String findSalary(){return "查询工资";}

修改后测试

@PreAuthorize

该注解可以在方法执行前判断用户是否具有权限

在配置类开启注解使用

@SpringBootApplication
@MapperScan("com.neu.mapper")
@Slf4j
//@EnableGlobalMethodSecurity(securedEnabled = true)
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class ApplicationMain {public static void main(String[] args) {SpringApplication.run(ApplicationMain.class,args);log.info("服务启动成功");}
}

在控制器方法上添加注解

@PreAuthorize("hasAuthority('/reportform/find')")@GetMapping("/reportform/find")public String findReportform(){return "查询报表";}@PreAuthorize("hasAuthority('/salary/find')")@GetMapping("/salary/find")public String findSalary(){return "查询工资";}@PreAuthorize("hasAuthority('/staff/find')")@GetMapping("/staff/find")public String findTax(){return "查询员工";}

数据库里的权限

测试


Spring Security授权_注解设置访问控制相关推荐

  1. Spring Security 源码分析:Spring Security 授权过程

    Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring I ...

  2. security框架工作笔记001--- Shiro和Spring Security对比_智慧城市项目中选型用Spring Security

    JAVA技术交流QQ群:170933152 Shiro简介 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Secu ...

  3. [SpringSecurity]web权限方案_用户授权_注解使用

    注解使用 @Secured 判断用户是否具有角色,可以访问方法,另外需要注意的是这里匹配的字符串需要添加前缀"ROLE_". 使用注解先要开启注解功能! 启动类(配置类)开启注解 ...

  4. [SpringSecurity]web权限方案_用户授权_基于权限访问控制_基于角色访问控制_hasAuthority和hasAnyAuthority_hasRole和hasAnyRole

    基于角色或权限进行访问控制 hasAuthority 方法 如果当前的主体具有指定的权限,则返回 true,否则返回 false 在配置类设置当前访问地址有哪些 @Overrideprotected ...

  5. 【微服务|Spring Security⑱】spring security授权汇总

    4.7.1 概述 授权的方式包括web授权和方法授权,web授权是通过url拦截进行授权,方法授权是通过方法拦截进行授权.他们都会调用accessDecisionManager进行授权决策,若为web ...

  6. Spring Security使用数据库登录认证授权

    一.搭建项目环境 1.创建 RBAC五张表 RBAC,即基于角色的权限访问控制(Role-Based Access Control),就是用户通过角色与权限进行关联. 在这种模型中,用户与角色之间,角 ...

  7. 手把手教你如何使用Spring Security(上):登录授权

    文章目录 一.什么是 Spring Security? 官方介绍 通俗来讲 二.初始搭建 创建 启动 三.项目原理 原理 思考 四.登录认证 登录过滤器 配置过滤器链 类补充 五.登录效果 效果演示 ...

  8. Spring Security:基于内存的角色授权

    本文来说下Spring Boot+Spring Security:基于内存的角色授权 文章目录 概述 需求缘起 编码思路 基于内存的角色授权 为用户配置角色 开启Spring方法级安全 配置方法级拥有 ...

  9. 后端架构token授权认证机制:spring security JSON Web Token(JWT)简例

    后端架构token授权认证机制:spring security JSON Web Token(JWT)简例 在基于token的客户端-服务器端认证授权以前,前端到服务器端的认证-授权通常是基于sess ...

最新文章

  1. 超级直播tv港澳台版2020_直播链接 2020年泉州足球超级联赛 第一轮
  2. redhat enterprise linux 下配置本地yum源
  3. 利好不断,跑步入场支持BCH
  4. 中华图标网--http://sinoLogo.cn
  5. mysql中explain的用法
  6. ADO Execute 方法
  7. mysql服务器(二)
  8. Python Django 全局上下文代码示例
  9. 阿里云文件上传工具类
  10. C#来创建和读取XML文档 [转]
  11. 十二、实战启动页(一)
  12. Docker搭建nexus3私服
  13. 一对一关联查询注解@OneToOne的实例详解
  14. 人脸方向学习(十二):Face Detection-Tiny-DSOD解读
  15. 《流畅的Python》读书笔记——Python序列的修改、散列和切片
  16. java 手势识别_【人体分析-手势识别】-Java示例代码
  17. linux命令界面切换桌面,Linux图形界面和命令行界面切换
  18. 神器 | 百度云资源搜索
  19. 判断司机是否酒后驾车
  20. LeetCode 6. Z 字形变换 (N字形变换)

热门文章

  1. Python年会抽奖程序
  2. root精灵华为解锁,华为刷机精灵解锁
  3. 人行备案AAA企业信用等级认证简介
  4. Vue开发者工具Vue.js devtools Vue开发者工具安装步骤 包含Vue2 和 Vue3
  5. 安装 ABAQUS2020时出错
  6. Typora字体排版
  7. 系统规划---可行性研究与效益分析
  8. c语言的运算符号优先级
  9. 双电容单相电机原理与接线方法
  10. ODFM详解(原理+调制解调)