java编程spring security常用注解说明

位置:首页>文章>详情   分类: 教程分享 > Java教程   阅读(3318)   2023-03-28 11:29:14
首先是启用方法级别的权限控制

@EnableGlobalMethodSecurity 开启Spring Security 全局方法安全
@EnableGlobalMethodSecurity 可以配置多个参数
prePostEnabled :决定Spring Security的前注解是否可用 [@PreAuthorize,@PostAuthorize,..] 
secureEnabled : 决定是否Spring Security的保障注解 [@Secured] 是否可用
jsr250Enabled :决定 JSR-250 annotations 注解[@RolesAllowed..] 是否可用.

1.@Secured
功能:
支持单一角色或者多个角色之间的任何一个角色,不支持spring EL表达式

2.@PreAuthorize 
注解适合进入方法前的权限验证, @PreAuthorize可以将登录用户的roles/permissions参数传到方法中。 
例子:
 @PreAuthorize("hasRole('ADMIN')")   拥有ADMIN角色权限才能访问
 @PreAuthorize("hasRole('ADMIN') AND hasRole('DBA')")  拥有ADMIN角色和DBA角色权限才能访问
 @PreAuthorize("hasAnyRole('ADMIN','DBA')") 拥有ADMIN或者DBA角色均可访问


3.@PostAuthorize
注解使用并不多,在方法执行后再进行权限验证。


@PreAuthorize / @PostAuthorize 注解更适合方法级的安全,也支持Spring 表达式语言,提供了基于表达式的访问控制。
地址:https://www.leftso.com/article/177.html

相关阅读

spring security常用注解@Secured、@PreAuthorize 、@PostAuthorize说明,Java编程,spring security
Java编程中spring security4是一个spring框架项目的一个安全方面的项目。主要用于用户认证,授权,角色认证
spring boot 入门之security oauth2 jwt完美整合例子,Java编程中spring boot框架+spring security框架+spring security o...
本文主要翻译spring官方的基于spring security框架的oauth2开发指南,spring,oauth2,spring框架,Java编程
Spring Security 配置多个Authentication Providers认证器
Java编程中Spring Boot整合RabbitMQ实现消息中间件RabbitMQ的使用
spring boot 2.0 security 5.0 整合,实现自定义表单登录。spring boot 2.0框架使用。
Java编程中spring boot项目如何获取spring容器applicationContext
使用OAuth2安全的Spring REST API,Secure Spring REST API using OAuth2(含demo代码下载)