Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > AD LDAP Spring Security


Автор: okamor71 10.9.2019, 14:09
Всем доброе время суток
Столкнулся с проблемой получения данных пользователя после его регистрации в приложении.


Настройка сделана так
Код


@Bean
    public ActiveDirectoryLdapAuthenticationProvider activeDirectoryLdapAuthenticationProvider() {
        ActiveDirectoryLdapAuthenticationProvider authenticationProvider = new
                ActiveDirectoryLdapAuthenticationProvider("*********", "ldap://1.1.1.1:389/","DC=***,DC=***,DC=***,DC=****");
        authenticationProvider.setConvertSubErrorCodesToExceptions(true);
        authenticationProvider.setUseAuthenticationRequestCredentials(true);
        return authenticationProvider;
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.authenticationProvider(activeDirectoryLdapAuthenticationProvider());
    }


Инфу пробую считать 
Код

    @GetMapping("/")
    public String index(Model model, Principal principal) {
        UsernamePasswordAuthenticationToken authentication =
                (UsernamePasswordAuthenticationToken)
                        SecurityContextHolder.getContext().getAuthentication();

        LdapUserDetails userDetails = (LdapUserDetails) authentication.getPrincipal();

        Collection<? extends GrantedAuthority> authorities = userDetails.getAuthorities().stream().collect(Collectors.toList());


        model.addAttribute("userName", userDetails.getDn().split(",")[0].split("=")[1] + " ==> " + userDetails.getDn());
        model.addAttribute("userAttr", authorities);
        return "index";
    }

но мне вместо полей юзера тянет группы в которых он есть, как мне получить поля юзера например его мейл

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)