Ich versuche, zwei verschiedene Sicherheitskonfigurationen für verschiedene URL-Muster zu definieren, von denen eines Formularanmeldung verwendet und ein anderes die Standardauthentifizierung für eine API verwendet.Basis- und formularbasierte Authentifizierung mit Spring-Sicherheit Javaconfig
Die Lösung, die ich suche, ist ähnlich der hier erklärt http://meera-subbarao.blogspot.co.uk/2010/11/spring-security-combining-basic-and.html, aber ich würde es gerne mit Java Config tun.
Vielen Dank im Voraus.
Dies ist die Konfiguration, die ich derzeit haben:
@Configuration
@EnableWebSecurity
public class AppSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserService userService;
@Override
protected void registerAuthentication(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userService);
}
@Override
public void configure(WebSecurity web) throws Exception {
// Ignore any request that starts with "/resources/".
web.ignoring().antMatchers("/resources/**");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeUrls().antMatchers("/", "/index", "/user/**", "/about").permitAll()
.antMatchers("/admin/**").hasRole("ADMIN")
.anyRequest().authenticated()
.and().formLogin()
.loginUrl("/login")
.failureUrl("/login-error")
.loginProcessingUrl("/security_check")
.usernameParameter("j_username").passwordParameter("j_password")
.permitAll();
http.logout().logoutUrl("/logout");
http.rememberMe().rememberMeServices(rememberMeServices()).key("password");
}
@Bean
public RememberMeServices rememberMeServices() {
TokenBasedRememberMeServices rememberMeServices = new TokenBasedRememberMeServices("password", userService);
rememberMeServices.setCookieName("cookieName");
rememberMeServices.setParameter("rememberMe");
return rememberMeServices;
}
}
Welche Ergebnisse sehen Sie? – Taylor
Derzeit habe ich nur Formularauthentifizierung mit diesem und ich kann nicht finden, wie grundlegende Authentifizierung zu einem URL-Muster wie/api/* –