Доступ к REST API через аутентификацию X.509+LDAP

Имеется REST API сервис для взаимодействия с клиентами(моб.приложение), в данный момент используется HttpBasic auth через LDAP собственного домена (MS AD). Но в виду слабых паролей пользователей, чтобы исключить брутфорс, а также ограничить различного рода атаки, скажем для усиления безопасности, захотелось добавить mutual auth. Идея такая - выпустить общий клиентский сертификат для доступа к сервису, после "рукопожатия", аутентификация по доменному логину и паролю. Возможно? Конфигурация адаптера через ldap сейчас:

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
        .csrf()
        .disable()
        .authorizeRequests()
        .anyRequest()
        .authenticated()
        .and()
        .httpBasic();
}

@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {

    ActiveDirectoryLdapAuthenticationProvider activeDirectoryLdapAuthenticationProvider = new
            ActiveDirectoryLdapAuthenticationProvider("mydomain.com", "ldap://192.168.0.100:389/");

    activeDirectoryLdapAuthenticationProvider.setConvertSubErrorCodesToExceptions(true);
    activeDirectoryLdapAuthenticationProvider.setUseAuthenticationRequestCredentials(true);
    activeDirectoryLdapAuthenticationProvider.setSearchFilter("(&(objectClass=user)(userPrincipalName={0})(memberOf=CN=accessGroup,OU=Группы пользователей,OU=DomainAccountsUsers,DC=NYDOMAIN,DC=COM))");
    auth.authenticationProvider(activeDirectoryLdapAuthenticationProvider);
    auth.eraseCredentials(false);

}

Ответы (0 шт):