Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pl.consileon.training.config;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
- import org.springframework.security.config.annotation.web.builders.HttpSecurity;
- import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
- import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
- import org.springframework.security.crypto.password.LdapShaPasswordEncoder;
- import org.springframework.security.ldap.DefaultSpringSecurityContextSource;
- import java.util.Arrays;
- @Configuration
- @EnableWebSecurity
- public class Security extends WebSecurityConfigurerAdapter {
- // spring.ldap.urls=ldap://localhost:10389
- // spring.ldap.embedded.port=8999
- // spring.ldap.embedded.base-dn=ou=testteam,cn=manager,dc=maxcrc,dc=com
- // spring.ldap.password=secret
- // ldap.user.dn.pattern = uid={0}
- // ldap.username= cn=manager,dc=maxcrc,dc=com
- // private String ldapUrls = "ldap://localhost:10389";
- // private String ldapBaseDn = "ou=testteam,cn=manager,dc=maxcrc,dc=com";
- // private String ldapSecurityPrincipal = "cn=manager,dc=maxcrc,dc=com";
- // private String ldapPrincipalPassword = "secret";
- // private String ldapUserDnPattern = "uid={0}";
- private static final String[] AUTH_WHITELIST = {
- // -- swagger ui
- "/v2/api-docs",
- "/swagger-resources",
- "/swagger-resources/**",
- "/configuration/ui",
- "/configuration/security",
- "/swagger-ui.html",
- "/webjars/**",
- "/api/biome",
- "/api/biome/**"
- // other public endpoints of your API may be appended to this array
- };
- @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}")
- .contextSource()
- .url("ldap://localhost:10389/dc=example,dc=com")
- .and()
- .passwordCompare()
- .passwordEncoder(new LdapShaPasswordEncoder())
- .passwordAttribute("userPassword");
- }
- @Bean
- public DefaultSpringSecurityContextSource contextSource() {
- return new DefaultSpringSecurityContextSource(Arrays.asList("ldap://localhost:10389"), "dc=example,dc=com");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement