java - 添加自定义注销成功处理程序似乎不适用于 Spring Security
问题描述
我有一个奇怪的问题,也许你可以用 Spring Security 帮我解决。
我有一个这样的配置类:
@EnableWebSecurity
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.apply(login())
.and()
.logout()
.logoutSuccessUrl("https://www.google.com")
.and()
.authorizeRequests()
.antMatchers("/api/**")
.hasRole("API_USER");
}
}
该应用程序正在应用一个自定义安全配置器,该配置器添加了一个注销处理程序和异常处理以拒绝访问并允许传递静态资产,例如 favicon。
当我调试时,我看到LogoutFilter
正在创建,但我没有看到我logoutSuccessUrl
被设置为simpleUrlLogoutSuccessHandler
. 我还确保我正在POST
使用/logout
CSRF 令牌。我知道订购很重要,所以我想知道是否有人能指出一个明显的缺陷。
登录方法基本上是这样的:
@Override
public void init(HttpSecurity http) throws Exception {
http
.exceptionHandling()
.accessDeniedHandler(myCustomAccessDeniedHandler)
.and()
.logout()
.addLogoutHandler(myLogoutHandler)
.and()
.authorizeRequests()
.antMatchers("**/favicon.*", "/public/**")
.permitAll();
}
解决方案
推荐阅读
- animation - 如何使用anime.js反向动画svg?
- javascript - 仅更新同级组件
- html - 有没有办法在没有javascript的情况下调整屏幕的div部分
- r - 在这些变量的参数中迭代变量名称和字符值,在 R
- php - Symfony3 错误:必须管理传递给选择字段的类型的实体
- excel - 无论事件过程运行多少次,如何永久删除 vb.net 中 excel 文件上的“只读”功能
- blogger - 如何修复博客中的多个重定向
- python - 我有字典作为熊猫数据框列中的值。我想将键列和值作为列值
- r - 安装包“tinytex”的退出状态非零
- postgresql - 在 PostgreSQL 中使用几个 Temp 变量