Cześć, dodałem swoją stronę logowania do Spring Security.
Problem jest taki, że ani w "login" ani "loginError" nie mogę użyć css. Nawet gdy przeklejam cały inny plik .jsp, który normalnie działa to w "login.jsp" wyświetla się bez cssa.
Gdy wpisze dane i nacisnę submit to wyświetla się mój plik css. Okazuje się, że on się zalogowuje bo teraz mogę wejść bezpośrednio w jakiś link aplikacji. Potem gdy ręcznie wpiszę localhost:8080/login to wyświetla się poprawnie forma logowania, razem z css.
Wychodzi na to, że jakoś źle wczytuje "pierwsze" logowanie do, którego odwołuje się po starcie aplikacji.
<div id="content">
<form name='loginForm' action="/login"
method='POST'>
<table>
<tr>
<td>User Name:</td>
<td><input type='text' name='username' value=''>
</td>
</tr>
<tr>
<td>Password:</td>
<td><input type='password' name='password' />
</td>
</tr>
<tr>
<td><input name="submit" type="submit"
value="submit" />
</td>
<td><input name="reset" type="reset" />
</td>
</tr>
</table>
</form>
</div>
tutaj ustawienia Security:
http.csrf().disable().authorizeRequests()
.antMatchers("/**").access("hasRole('ROLE_USER')")
.and().formLogin().loginPage("/login").permitAll()
.defaultSuccessUrl("/index").failureUrl("/loginError");
a tutaj Controller:
@RequestMapping(value = "/login", method = RequestMethod.GET)
public ModelAndView loginPage() {
ModelAndView modelAndView = new ModelAndView("login");
return modelAndView;
}
@RequestMapping(value = "/loginError", method = RequestMethod.GET)
public ModelAndView loginErrorPage() {
ModelAndView modelAndView = new ModelAndView("login");
modelAndView.addObject("msg", "invalid login credentials");
return modelAndView;
}