Spring安全SSO +基本身份验证

时间:2016-01-26 14:35:28

标签: spring-security oauth-2.0 single-sign-on basic-authentication

我希望在我的申请中能够获得这样的安全性:
受OAuth2 SSO保护:
/ app / **,/ VAADIN / **,/ vaadinServlet / **
受基本身份验证保护:
/一体化/ **
剩下的资源都被打开了。

@Component
@EnableOAuth2Sso
public class SingleSignOnSecurity extends OAuth2SsoConfigurerAdapter {
    @Override
    public void match(RequestMatchers matchers) {
        matchers.antMatchers("/app/**", "/VAADIN/**", "/vaadinServlet/**");
    }
    @Override
    public void configure(HttpSecurity http) throws Exception {
        http.csrf().disable().logout().permitAll();
        http.authorizeRequests().antMatchers("/app/**", "/VAADIN/**", "/vaadinServlet/**").authenticated();
    }
}

@Component
public class HardCodedSecurity extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
           .authorizeRequests()
           .antMatchers("/integration/**").authenticated()
           .and()
           .httpBasic()
           .and()
           .csrf().disable()
           .logout().permitAll();
    }
}

如果我将@OrderHardCodedSecurity放在(SecurityProperties.ACCESS_OVERRIDE_ORDER + 1)上,则SSO可以正常工作,但不能使用基本身份验证。 (SecurityProperties.ACCESS_OVERRIDE_ORDER - 1),然后Basic Auth工作,但不是SSO。我不能让他们两个按照描述工作。

如果你能帮助我走上正确的道路,我将感激不尽。谢谢!

0 个答案:

没有答案