Ho cercato di aggiungere il login personalizzato Spring Security (Java Config) nella mia applicazione, ma uno strano errore continua a spuntare.Errore di accesso personalizzato di sicurezza Spring
Ho passato il Creating a Custom Login Form tutorial e funziona perfettamente. Non sono sicuro di quale sia il problema con la mia applicazione.
errore
Causato da: java.lang.IllegalArgumentException: '? Login errore' non è un URL di reindirizzamento valida
Security Config
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
public void configure(AuthenticationManagerBuilder auth)
throws Exception {
auth
.inMemoryAuthentication()
.withUser("user").password("password").roles("USER");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/", "/about").permitAll();
http
.authorizeRequests()
.antMatchers("/admin","/admin/**").hasRole("ADMIN")
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("login")
.permitAll();
}
}
Logi nController
@Controller
public class LoginController {
@RequestMapping(value = "login", method = RequestMethod.GET)
public String loginView() {
return "login";
}
@RequestMapping(value = "login", method = RequestMethod.POST)
public String login(@ModelAttribute Login login) {
return "home";
}
}
Proprio commentando il metodo configure(HttpSecurity http)
rimuove l'eccezione. Ho provato ad aggiungere RequestMapping
con il valore login?error
, ma non è stato d'aiuto. Cosa mi manca qui?
Beh, la barra viene lasciato fuori perché il mio controller è dotato di un 'RequestMapping' di "login" al posto di "/ login" – ItachiUchiha
@ItachiUchiha I valori di '@ RequestMapping' dovrebbero iniziare anche con'/'. – holmis83
È obbligatorio? Prima di aggiungere la sicurezza di primavera, tutto funzionava perfettamente senza '/' – ItachiUchiha