Spring Boot с интерфейсом Angular 7 - Предотвращение доступа к сайту от незарегистрированных пользователей - PullRequest
0 голосов
/ 22 декабря 2018

Я бы хотел запретить людям доступ к моему приложению (внешний интерфейс Angular 7, серверная часть Spring Boot), когда они не вошли в систему с помощью Spring-Boot-Security.Я аутентифицирую своего пользователя через ldap и хотел бы установить роли на основе записей в базе данных, но давайте вернемся к этому шаг за шагом.Итак, теперь я заменил Spring-Boot-Security -login по умолчанию (через сгенерированный пароль) на мою 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 сделать это снова (также с веб-страницами, доступ к которым тоже был невозможен)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...