我希望在我的申请中能够获得这样的安全性:
受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();
}
}
如果我将@Order
类HardCodedSecurity
放在(SecurityProperties.ACCESS_OVERRIDE_ORDER + 1)
上,则SSO可以正常工作,但不能使用基本身份验证。 (SecurityProperties.ACCESS_OVERRIDE_ORDER - 1)
,然后Basic Auth工作,但不是SSO。我不能让他们两个按照描述工作。
如果你能帮助我走上正确的道路,我将感激不尽。谢谢!