Spring Security - 以编程方式读取配置

时间:2017-01-21 23:11:12

标签: java spring spring-security

我正在使用Spring Security和自定义登录表单。我使用配置类自定义配置:

public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
...    
    @Override
    protected void configure(HttpSecurity http) throws Exception {          
        http
        .formLogin()
        .loginPage("/signin")
        .successForwardUrl("/landing")
        .failureForwardUrl("/signinfailed");
    }
...
}

由于代码段显示我的登录网址不是标准的。现在我必须将这些URL硬编码到我的应用程序中的许多地方:模板,一些具有自定义登录要求的控制器,集成测试。我觉得这种做法违反了不要重复自己校长一点点。有一天,如果我必须更改URL,我需要确保所有事件都被修改等等。

有没有办法访问Spring Security配置,或者至少以编程方式登录表单部分,以便我可以使用配置的值而无需在多个位置重复指定值?

我已经检查了HttpSecurity类,似乎在类设计中没有读访问权限。一个可能的选择是在配置类中构建一个访问机制,但它有自己的问题(需要硬编码默认值,如果自定义项目数量增加,可读性差等)如果有直接的话会更方便访问配置的方法。

0 个答案:

没有答案