Я работаю над веб-приложением и решил использовать Spring Security. Идея состоит в том, чтобы пользователь прошел аутентификацию, чтобы видеть домашнюю страницу, если пользователь не аутентифицирован, они перенаправляются на страницу входа. Эта страница входа также отображает ссылку на регистрационную форму, эта часть работает правильно.
Однако я столкнулся с проблемой при попытке разрешить пользователям регистрироваться через регистрационную ссылку. Ссылка на форму регистрации недоступна, если пользователь не аутентифицирован ("showRegistrationForm")
Может ли кто-нибудь объяснить, почему это происходит? Я включил фрагмент кода из моего SecurityConfig ниже
@Override
protected void configure(HttpSecurity http) throws Exception {
//Restrict Access based on the Intercepted Servlet Request
http.authorizeRequests()
.antMatchers("/resources/**", "/register").permitAll()
.anyRequest().authenticated()
.antMatchers("/").hasRole("EMPLOYEE")
.antMatchers("/showForm/**").hasAnyRole("EMPLOYEE","MANAGER", "ADMIN")
.antMatchers("/save/**").hasAnyRole("MANAGER", "ADMIN")
.antMatchers("/delete/**").hasRole("ADMIN")
.and()
.formLogin()
// Show the custom form created for the below request mappings
.loginPage("/showSonyaLoginPage")
.loginProcessingUrl("/authenticateTheUser")
// No need to be logged in to see the login page
.permitAll()
.and()
// No need to be logged in to see the logout button.
.logout().permitAll()
.and()
.exceptionHandling().accessDeniedPage("/access-denied");
}