/
Hipahopa808
/
SpringCourse
Обзор
Документация
Войти
/
Hipahopa808
/
SpringCourse
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
FinalSecurityApp/src/main/java/ru/alishev/springcourse/FirstSecurityApp/config/SecurityConfig.java
58 строк
2 KB
Neil Alishev
Add final Spring Security App
13 июл 2021, 21:21
13 июл 2021, 21:21
ec6bd65
Код
Авторство
О чём код?
package ru.alishev.springcourse.FirstSecurityApp.config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import ru.alishev.springcourse.FirstSecurityApp.services.PersonDetailsService; /** * @author Neil Alishev */ @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) public class SecurityConfig extends WebSecurityConfigurerAdapter { private final PersonDetailsService personDetailsService; @Autowired public SecurityConfig(PersonDetailsService personDetailsService) { this.personDetailsService = personDetailsService; } @Override protected void configure(HttpSecurity http) throws Exception { // конфигурируем сам Spring Security // конфигурируем авторизацию http.authorizeRequests() .antMatchers("/admin").hasRole("ADMIN") .antMatchers("/auth/login", "/auth/registration", "/error").permitAll() .anyRequest().hasAnyRole("USER", "ADMIN") .and() .formLogin().loginPage("/auth/login") .loginProcessingUrl("/process_login") .defaultSuccessUrl("/hello", true) .failureUrl("/auth/login?error") .and() .logout() .logoutUrl("/logout") .logoutSuccessUrl("/auth/login"); } // Настраиваем аутентификацию @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.userDetailsService(personDetailsService) .passwordEncoder(getPasswordEncoder()); } @Bean public PasswordEncoder getPasswordEncoder() { return new BCryptPasswordEncoder(); } }