Advertisement
Guest User

Untitled

a guest
Jan 15th, 2019
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.84 KB | None | 0 0
  1. package pl.consileon.training.config;
  2.  
  3. import org.springframework.beans.factory.annotation.Value;
  4. import org.springframework.context.annotation.Bean;
  5. import org.springframework.context.annotation.Configuration;
  6. import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
  7. import org.springframework.security.config.annotation.web.builders.HttpSecurity;
  8. import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
  9. import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
  10. import org.springframework.security.crypto.password.LdapShaPasswordEncoder;
  11. import org.springframework.security.ldap.DefaultSpringSecurityContextSource;
  12.  
  13. import java.util.Arrays;
  14.  
  15. @Configuration
  16. @EnableWebSecurity
  17. public class Security extends WebSecurityConfigurerAdapter {
  18.  
  19. //    spring.ldap.urls=ldap://localhost:10389
  20. //    spring.ldap.embedded.port=8999
  21. //    spring.ldap.embedded.base-dn=ou=testteam,cn=manager,dc=maxcrc,dc=com
  22. //    spring.ldap.password=secret
  23. //    ldap.user.dn.pattern = uid={0}
  24. //    ldap.username= cn=manager,dc=maxcrc,dc=com
  25.  
  26. //    private String ldapUrls = "ldap://localhost:10389";
  27. //    private String ldapBaseDn = "ou=testteam,cn=manager,dc=maxcrc,dc=com";
  28. //    private String ldapSecurityPrincipal = "cn=manager,dc=maxcrc,dc=com";
  29. //    private String ldapPrincipalPassword = "secret";
  30.    // private String ldapUserDnPattern = "uid={0}";
  31.  
  32.     private static final String[] AUTH_WHITELIST = {
  33.             // -- swagger ui
  34.             "/v2/api-docs",
  35.             "/swagger-resources",
  36.             "/swagger-resources/**",
  37.             "/configuration/ui",
  38.             "/configuration/security",
  39.             "/swagger-ui.html",
  40.             "/webjars/**",
  41.             "/api/biome",
  42.             "/api/biome/**"
  43.             // other public endpoints of your API may be appended to this array
  44.     };
  45.  
  46.     @Override
  47.     protected void configure(HttpSecurity http) throws Exception {
  48.         http
  49.                 .authorizeRequests()
  50.                 .anyRequest().fullyAuthenticated()
  51.                 .and()
  52.                 .formLogin();
  53.     }
  54.  
  55.     @Override
  56.     public void configure(AuthenticationManagerBuilder auth) throws Exception {
  57.         auth
  58.                 .ldapAuthentication()
  59.                 .userDnPatterns("uid={0}")
  60.                 .contextSource()
  61.                 .url("ldap://localhost:10389/dc=example,dc=com")
  62.                 .and()
  63.                 .passwordCompare()
  64.                 .passwordEncoder(new LdapShaPasswordEncoder())
  65.                 .passwordAttribute("userPassword");
  66.     }
  67.  
  68.     @Bean
  69.     public DefaultSpringSecurityContextSource contextSource() {
  70.         return new DefaultSpringSecurityContextSource(Arrays.asList("ldap://localhost:10389"), "dc=example,dc=com");
  71.     }
  72.  
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement