Spring Security仅允许匿名访问

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Security仅允许匿名访问相关的知识,希望对你有一定的参考价值。

在Spring Security中,我知道可以将特定URL配置为只有已记录的用户或具有特定角色的用户可以通过以下语句访问:

http.authorizeRequests().antMatchers("/admin/**").access("hasRole('ADMIN')");

但有没有办法让它只能由匿名者访问?这意味着它限制了登录用户的访问权限。例如登录页面,如果用户已登录,我希望它不可访问。只有在没有用户登录时才能访问它。有没有办法实现这一点?

答案

您可以像这样添加匿名

@Override
public void configure(HttpSecurity http) throws Exception {
    http
    .requestMatchers()
    .antMatchers("/api/**")
    .and()
    .authorizeRequests()
    .antMatchers("/api/books/*").anonymous();
}

以上是关于Spring Security仅允许匿名访问的主要内容,如果未能解决你的问题,请参考以下文章

Spring security - 允许匿名访问

Spring security如何允许匿名访问大多数限制某些操作的站点

如何允许用户在 Spring Boot / Spring Security 中仅访问自己的数据?

spring security 匿名访问安全吗

Spring Security OAuth2 JWT 匿名令牌

Spring Security - 访问被拒绝(用户不是匿名的)spring-security-core-4.0.3.RELEASE