Open Kilda Java Documentation
SecurityConfig.java
Go to the documentation of this file.
1 package org.openkilda.security;
2 
3 
4 import org.springframework.beans.factory.annotation.Autowired;
5 import org.springframework.context.annotation.Bean;
6 import org.springframework.context.annotation.Configuration;
7 import org.springframework.security.authentication.AuthenticationProvider;
8 import org.springframework.security.authentication.ProviderManager;
9 import org.springframework.security.config.annotation.web.builders.HttpSecurity;
10 import org.springframework.security.config.annotation.web.builders.WebSecurity;
11 import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
12 import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
13 import org.springframework.security.web.access.AccessDeniedHandler;
14 
15 import java.util.ArrayList;
16 import java.util.List;
17 
20 
26 @Configuration
27 @EnableWebSecurity
28 public class SecurityConfig extends WebSecurityConfigurerAdapter {
29 
30  @Autowired
31  private UserService serviceUser;
32 
33  @Autowired
34  private AccessDeniedHandler accessDeniedHandler;
35 
36  /*
37  * (non-Javadoc)
38  *
39  * @see
40  * org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter
41  * #configure(org.springframework.security.config.annotation.web.builders.HttpSecurity)
42  */
43 
44  @Override
45  protected void configure(final HttpSecurity http) throws Exception {
46 
47  http.csrf().disable().authorizeRequests()
48  .antMatchers("/login", "/authenticate", "/forgotpassword")
49  .permitAll().anyRequest().authenticated().and().formLogin().loginPage("/login").permitAll().and()
50  .logout().permitAll().and().exceptionHandling().accessDeniedHandler(accessDeniedHandler);
51  }
52 
58  @Bean("authProvider")
61  authProvider.setUserDetailsService(serviceUser);
62  authProvider.setPasswordEncoder(StringUtil.getEncoder());
63  return authProvider;
64  }
65 
66  /*
67  * (non-Javadoc)
68  *
69  * @see
70  * org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter
71  * #authenticationManager()
72  */
73  @Override
74  @Bean("authenticationManager")
75  public ProviderManager authenticationManager() {
76  List<AuthenticationProvider> authProviderList = new ArrayList<AuthenticationProvider>();
77  authProviderList.add(authProvider());
78  ProviderManager providerManager = new ProviderManager(authProviderList);
79  return providerManager;
80  }
81 
82  @Override
83  public void configure(final WebSecurity web) throws Exception {
84  web.ignoring().antMatchers("/resources/**", "/ui/**", "/lib/**");
85  }
86 }
void configure(final HttpSecurity http)
static BCryptPasswordEncoder getEncoder()
Definition: StringUtil.java:59
CustomAuthenticationProvider authProvider()
void configure(final WebSecurity web)