当人们没有使用Spring-Boot-Security
登录时,我想阻止他们访问我的应用程序(Angular 7前端,Spring Boot后端)。我通过ldap
对用户进行身份验证,并希望根据数据库条目设置角色,但让我们逐步进行此操作。因此,我现在要做的是用我的Spring-Boot-Security
配置(但仍使用默认登录页面)替换默认的ldap
登录(通过生成的密码)。我得到了以下代码:
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.antMatcher("/login")
.authorizeRequests()
.anyRequest().fullyAuthenticated()
.and()
.httpBasic();
http.formLogin().defaultSuccessUrl("/", true);
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.authenticationProvider(activeDirectoryLdapAuthenticationProvider());
}
@Bean
public AuthenticationManager authenticationManager() {
return new ProviderManager(Arrays.asList(activeDirectoryLdapAuthenticationProvider()));
}
@Bean
public AuthenticationProvider activeDirectoryLdapAuthenticationProvider() {
ActiveDirectoryLdapAuthenticationProvider provider = new ActiveDirectoryLdapAuthenticationProvider(AD_DOMAIN, AD_URL);
provider.setConvertSubErrorCodesToExceptions(true);
provider.setUseAuthenticationRequestCredentials(true);
return provider;
}
现在默认情况下,当包含spring-boot-starter-security
工件时,尝试访问任何页面时,每个人都将重定向到/login
-页面。可悲的是,由于我用自己的配置覆盖了该配置,因此情况不再如此。我该如何让spring再次执行此操作(也可以访问也被阻止访问的frontend-pages)?