如何在Spring Security中配置多重身份验证

时间:2019-07-06 18:09:44

标签: java spring spring-boot spring-security

我正在设置Spring Boot api,并且需要在不同的控制器中为不同的用户提供多种身份验证

我有一个用户表和居民表。我已经设置了用户身份验证管理器。

这是我的用户安全配置


@EnableWebSecurity
public class WebSecurity extends WebSecurityConfigurerAdapter {

    private final UserService userDetailsService;
    private final BCryptPasswordEncoder bCryptPasswordEncoder;

    public WebSecurity(UserService userDetailsService, BCryptPasswordEncoder bCryptPasswordEncoder) {
        super();
        this.userDetailsService = userDetailsService;
        this.bCryptPasswordEncoder = bCryptPasswordEncoder;
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(userDetailsService).passwordEncoder(bCryptPasswordEncoder);

    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        ...
    }

    public AuthenticationFilter getAuthenticationFilter() throws Exception {
        final AuthenticationFilter filter = new AuthenticationFilter(authenticationManager());
        filter.setFilterProcessesUrl("/users/login");
        return filter;
    }

}

我希望能够使用“ / users / login”和“ / residents / login”

登录

0 个答案:

没有答案