Spring Boot Security 403重定向

维什鲁特

我正在使用Spring Boot Security通过LDAP验证用户的应用程序。默认情况下,此配置会将未经授权的用户重定向到登录页面。我想调整此配置以实现两件事:

  1. 重定向尝试访问单页应用程序(位于“ /”处)的未经身份验证的用户进行登录。这已经可以使用默认行为了。
  2. 对于api调用(“ / api / v1 / ...”),我想返回403错误消息,而不是重定向。

我该怎么做?我看到了其他一些问题,这些问题给了我提示,但我仍然无法弄清楚。

这篇文章的最高答案似乎很相关,但是他链接到了这样做的XML方法。我想用Java做到这一点。Spring Security-需要403错误,不能重定向

任何帮助将非常感激!

这是我当前的设置:

WebSecurityConfig.java

@Override
protected void configure(HttpSecurity http) throws Exception {

    http
        .authorizeRequests()
        .antMatchers("/css/**").permitAll()
        .anyRequest().authenticated();
    http
        .formLogin()
            .loginPage("/login")
            .defaultSuccessUrl("/", true)
            .permitAll()
            .and()
        .httpBasic()
            .and()
        .csrf().disable()
        .logout()
            .logoutSuccessUrl("/login");

}
维什鲁特

找到了似乎可行的解决方案(到目前为止,至少)

@Bean
public AuthenticationEntryPoint delegatingEntryPoint() {
    final LinkedHashMap<RequestMatcher, AuthenticationEntryPoint> map = new LinkedHashMap();
    map.put(new AntPathRequestMatcher("/"), new LoginUrlAuthenticationEntryPoint("/login"));
    map.put(new AntPathRequestMatcher("/api_v1/**"), new Http403ForbiddenEntryPoint());

    final DelegatingAuthenticationEntryPoint entryPoint = new DelegatingAuthenticationEntryPoint(map);
    entryPoint.setDefaultEntryPoint(new LoginUrlAuthenticationEntryPoint("/login"));

    return entryPoint;
}

@Override
protected void configure(HttpSecurity http) throws Exception {

    //delegates based on url (api vs root)
    http.exceptionHandling().authenticationEntryPoint(delegatingEntryPoint());

    http
        .authorizeRequests()
        .antMatchers("/css/**").permitAll()
        .anyRequest().authenticated();
    http
        .formLogin()
            .loginPage("/login")
            .defaultSuccessUrl("/", true)
            .permitAll()
            .and()
        .httpBasic()
            .and()
        .csrf().disable()
        .logout()
            .logoutSuccessUrl("/login");
}

希望这可以帮助某人。我知道我花了很长时间才找到答案。:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Spring Security重定向到禁止页面(403)

来自分类Dev

Spring Security重定向到禁止页面(403)

来自分类Dev

阻止Spring Security在登录/注销后从302重定向

来自分类Dev

成功登录后,Spring Boot Security重定向-未定义

来自分类Dev

Spring Boot重定向过多

来自分类Dev

Spring Security基本路径重定向

来自分类Dev

Spring Security不会重定向到主页

来自分类Dev

Spring Boot-返回403 Forbidden而不是重定向到登录页面

来自分类Dev

使用Spring Boot + Spring Security时图像上出现错误403

来自分类Dev

带有spring-boot的spring-security,自定义登录页面,错误403

来自分类Dev

Spring Boot或Spring Security内存可能泄漏

来自分类Dev

Spring Boot ServeletInitializer和Spring Security

来自分类Dev

Spring Boot中Spring Security的XML配置

来自分类Dev

使用Spring Boot配置Spring Security

来自分类Dev

Spring Boot或Spring Security内存可能泄漏

来自分类Dev

带有Spring Boot的Spring Security

来自分类Dev

Stormpath Spring Boot重定向循环

来自分类Dev

Java Spring Boot无限重定向

来自分类Dev

配置Spring Security返回REST URL的403并重定向到其他URL的登录名

来自分类Dev

配置Spring Security返回REST URL的403并重定向到其他URL的登录名

来自分类Dev

Spring boot、Security、OAuth2:是否可以使用自定义 AuthorizationCodeResourceDetails?身份验证服务器需要重定向 url 中的特定参数

来自分类Dev

how to implement a authentication with spring boot security?

来自分类Dev

Spring Boot Security + Thymeleaf:缺少IProcessorDialect类

来自分类Dev

Spring Boot + Security + JWT 无法生成token

来自分类Dev

Spring Security应用程序中的重定向循环

来自分类Dev

返回Http状态(例如401)或重定向Spring Security

来自分类Dev

登录后,Spring Security再次重定向到登录页面

来自分类Dev

Spring Security总是重定向到登录页面

来自分类Dev

Spring Security:根据某些条件重定向登录的用户

Related 相关文章

  1. 1

    Spring Security重定向到禁止页面(403)

  2. 2

    Spring Security重定向到禁止页面(403)

  3. 3

    阻止Spring Security在登录/注销后从302重定向

  4. 4

    成功登录后,Spring Boot Security重定向-未定义

  5. 5

    Spring Boot重定向过多

  6. 6

    Spring Security基本路径重定向

  7. 7

    Spring Security不会重定向到主页

  8. 8

    Spring Boot-返回403 Forbidden而不是重定向到登录页面

  9. 9

    使用Spring Boot + Spring Security时图像上出现错误403

  10. 10

    带有spring-boot的spring-security,自定义登录页面,错误403

  11. 11

    Spring Boot或Spring Security内存可能泄漏

  12. 12

    Spring Boot ServeletInitializer和Spring Security

  13. 13

    Spring Boot中Spring Security的XML配置

  14. 14

    使用Spring Boot配置Spring Security

  15. 15

    Spring Boot或Spring Security内存可能泄漏

  16. 16

    带有Spring Boot的Spring Security

  17. 17

    Stormpath Spring Boot重定向循环

  18. 18

    Java Spring Boot无限重定向

  19. 19

    配置Spring Security返回REST URL的403并重定向到其他URL的登录名

  20. 20

    配置Spring Security返回REST URL的403并重定向到其他URL的登录名

  21. 21

    Spring boot、Security、OAuth2:是否可以使用自定义 AuthorizationCodeResourceDetails?身份验证服务器需要重定向 url 中的特定参数

  22. 22

    how to implement a authentication with spring boot security?

  23. 23

    Spring Boot Security + Thymeleaf:缺少IProcessorDialect类

  24. 24

    Spring Boot + Security + JWT 无法生成token

  25. 25

    Spring Security应用程序中的重定向循环

  26. 26

    返回Http状态(例如401)或重定向Spring Security

  27. 27

    登录后,Spring Security再次重定向到登录页面

  28. 28

    Spring Security总是重定向到登录页面

  29. 29

    Spring Security:根据某些条件重定向登录的用户

热门标签

归档