У меня три роли, и я хочу перенаправить пользователя на разные страницы после входа в систему в соответствии с их ролями. Я знаю, что это может быть сделано с помощью AuthenticationSuccessHandler, но у меня возникли проблемы с объявлением его в java-конфигурации. Пока я это сделал.AuthenticationSuccessHandler в конфигурации java на основе mvc весны
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/resources/**", "/login").permitAll()
.antMatchers("/admin/**").hasRole("USER")
.and()
.formLogin()
.loginPage("/login")
.defaultSuccessUrl("/")
.successHandler(successHandler) //----- to handle user role
.failureUrl("/loginfailed")
.permitAll()
.and()
.logout()
.logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
.deleteCookies("JSESSIONID")
.invalidateHttpSession(true)
.and();
}
Мой вопрос, где объявить successHandler и как autowire его в этом классе, или как объявить метод successHandler в этом классе и использовать его.
ответил ли ниже ответ? –
Благодарим вас за ответ. На самом деле, если честно, у меня возникают другие трудности с проектом, поэтому я был озабочен их решением. Я проверю эту конфигурацию, как только смогу. И обязательно спросите о помощи, если найдете какую-либо неразрешимую проблему. Это выглядит просто и, безусловно, я отвечу на ваш ответ, как только я его реализую. Спасибо . – Kharoud
Он отлично работает. Необходима небольшая индивидуальная модификация. Спасибо за ответ – Kharoud