spring security中@PreAuthorize注解的使用

Posted wueryuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring security中@PreAuthorize注解的使用相关的知识,希望对你有一定的参考价值。

添加依赖
<!-- oauth -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-oauth2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security.oauth</groupId>
<artifactId>spring-security-oauth2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-jwt</artifactId>
</dependency>


配置oauth
@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class OAuth2ResourceServerConfig extends GlobalMethodSecurityConfiguration

@Override
protected MethodSecurityExpressionHandler createExpressionHandler()

OAuth2MethodSecurityExpressionHandler oAuth2MethodSecurityExpressionHandler = new OAuth2MethodSecurityExpressionHandler();
return oAuth2MethodSecurityExpressionHandler;


/**
* 当@EnableGlobalMethodSecurity(prePostEnabled=true)的时候,@PreAuthorize可以使用
* @PreAuthorize可以用来控制一个方法是否能够被调用。
* @在controller层方法中添加权限配置(符合条件得才可以调用这个方法)
* @return
*/
@PreAuthorize(value = "#oauth2.hasAnyScope(‘A‘,‘B‘,‘C‘,‘D‘)")//添加机构编码权限,判断该机构是否有权限调用
@PreAuthorize(value="isAuthenticated()")//添加登录权限判断,登录才可以调用
public String getInformation()
return info;

以上是关于spring security中@PreAuthorize注解的使用的主要内容,如果未能解决你的问题,请参考以下文章

spring boot 整合spring security中spring security版本升级的遇到的坑

Spring security:Spring security 如何在 SessionRegistry 中注册新会话?

在使用 Oauth、SAML 和 spring-security 的多租户的情况下从 spring-security.xml 中获取错误

添加“spring-security-taglibs”后jsp中仍然报错:找不到spring security标签的标签库描述符

Spring Security系列教程解决Spring Security环境中的跨域问题

没有 JSP 的 Spring Security /j_spring_security_check