如何在Spring启动应用程序中使用Active Directory docker镜像进行授权

时间:2017-08-17 12:25:20

标签: docker spring-boot active-directory spring-ldap spring-security-ldap

这是我第一次使用Docker和AD。

我正在实现一个使用Active目录进行授权的spring启动应用程序。

我已经完成了LDAP教程https://spring.io/guides/gs/authenticating-ldap/

我已经下载了Active Directory的docker镜像。

https://hub.docker.com/r/pitkley/samba-ad-dc/#environment-variables

现在我想在本地计算机上使用此docker镜像进行授权。

Docker镜像正在运行,

$ docker run -i -t 041144877f9f /bin/bash root@3c01c419c248:/#

如何在我的春季启动应用中使用此图片进行授权?
我应该从这个泊坞窗图片中得到什么?

我使用mac,java,spring boot。 以下是我的代码,

@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .anyRequest()
                .fullyAuthenticated()
                    .and()
                .formLogin();
    }

    @Override
    public void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth
        .ldapAuthentication()
            .userDnPatterns("uid={0},ou=people")
            .groupSearchBase("ou=groups")
            .contextSource(contextSource())
            .passwordCompare()
                .passwordEncoder(new LdapShaPasswordEncoder())
                .passwordAttribute("userPassword");
    }

    @Bean
    public DefaultSpringSecurityContextSource contextSource() {
        return  new DefaultSpringSecurityContextSource(Arrays.asList("ldap://localhost:8389/"), "dc=springframework,dc=org");
    }
}

0 个答案:

没有答案