在Spring Secuity / Boot应用程序中,我有多个 @Configuration 注释的配置,这些配置扩展了 WebSecurityConfigurerAdapter 。 在这些特定配置之一中,我想使用基本身份验证来保护特定URL。我通过覆盖 configure(final HttpSecurity)并使用 antMatcher(“ myURL”)到 HttpSecurity 对象上,然后进行通常的授权来做到这一点-链和 httpBasic()。
但是在春季配置基本身份验证还需要您进行配置以覆盖 configure(最终AuthenticationManagerBuilder身份验证),据我所知,在此处配置身份验证机制。就我而言,这是一个简单的 inMemoryAuthentication(),具有我选择的用户和密码。 现在,我知道项目中的其他一些配置使用一种更复杂的身份验证机制来配置其余的url,该机制实现了SSO。我不确定我的配置是否与 AuthenticationManagerBuilder 混淆,是否以任何方式干扰了这些其他机制?
我的期望是,因为在 configure(最终HttpSecurity)中,我使用 antMatcher(“ myURL”),所以此配置将创建一个具有我特定的SecurityFilterChain > inMemoryAuthentication()逻辑(在处理基本身份验证的Spring过滤器中的某个位置),并且此链仅用于与“ myURL”模式匹配的请求。我希望其他现有配置以及其他更复杂的身份验证机制创建的其他过滤器链不受新配置的影响。我的新 inMemoryAuthentication 应该永远不会在那儿扮演角色。正确吗?