Cześć,
Robię projekt w Springu MVC 4 i chcę użyć Spring Security. Teraz dla URLa ("/login") mam metodę GET i POST (GET do wyświetlenia strony logowania, POST do sprawdzenia danych użytkownika i jeżeli dane są poprawne to dodaję e-mail jako atrybut do sesji):
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String logIn(@Valid Client client, BindingResult result, HttpServletRequest request) {
...
request.getSession().setAttribute("email", email);
return "redirect:/panel/";
}
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String displayLoginPage(ModelMap model) {
...
}
Dodałem już Spring Security i teoretycznie wszystko działa, ale nie wiem jak dodać email do sesji przed przejściem do nowego URLa albo jak wywołać metodę login (POST). Teraz mam coś takiego:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/panel/**").access("hasRole('ROLE_USER')")
.and()
.formLogin().loginPage("/login")
.defaultSuccessUrl("/panel/")
.failureUrl("/login?message=error")
.usernameParameter("email").passwordParameter("password")
.and()
.logout().logoutSuccessUrl("/login?message=logout");
}
Potrzebuję to dodać żeby wiedzieć jaki użytkownik jest w danej chwili zalogowany i kogo dane powinny być wyświetlane po zalogowaniu.