1- package org .woehlke .simpleworklist .application . config ;
1+ package org .woehlke .simpleworklist .config ;
22
33import org .springframework .beans .factory .annotation .Autowired ;
44import org .springframework .boot .autoconfigure .ImportAutoConfiguration ;
1414import org .springframework .security .config .annotation .web .configuration .EnableWebSecurity ;
1515import org .springframework .security .config .annotation .web .configuration .WebSecurityConfigurerAdapter ;
1616import org .springframework .security .core .userdetails .UserDetailsService ;
17- import org .springframework .security .crypto .bcrypt .BCryptPasswordEncoder ;
1817import org .springframework .security .crypto .password .PasswordEncoder ;
19- import org .springframework .security .web . authentication . AuthenticationSuccessHandler ;
18+ import org .springframework .security .crypto . password . Pbkdf2PasswordEncoder ;
2019import org .springframework .security .web .authentication .UsernamePasswordAuthenticationFilter ;
2120import org .springframework .web .servlet .config .annotation .EnableWebMvc ;
22- import org .woehlke .simpleworklist .application .ApplicationProperties ;
23- import org .woehlke .simpleworklist .user .login .LoginSuccessHandler ;
24- import org .woehlke .simpleworklist .user .services .UserAccountSecurityService ;
21+ import org .woehlke .simpleworklist .user .services .SimpleworklistUserAccountSecurityService ;
2522
2623
2724@ Configuration
3431 WebMvcConfig .class
3532})
3633@ EnableConfigurationProperties ({
37- ApplicationProperties .class
34+ SimpleworklistProperties .class
3835})
3936public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
4037
4138 private final AuthenticationManagerBuilder authenticationManagerBuilder ;
42- private final AuthenticationSuccessHandler loginSuccessHandler ;
43- private final UserAccountSecurityService userAccountSecurityService ;
44- private final ApplicationProperties applicationProperties ;
39+ // private final AuthenticationSuccessHandler loginSuccessHandler;
40+ private final SimpleworklistUserAccountSecurityService simpleworklistUserAccountSecurityService ;
41+ private final SimpleworklistProperties simpleworklistProperties ;
4542
4643 @ Autowired
4744 public WebSecurityConfig (
48- AuthenticationManagerBuilder authenticationManagerBuilder ,
49- LoginSuccessHandler loginSuccessHandler ,
50- UserAccountSecurityService userAccountSecurityService ,
51- ApplicationProperties applicationProperties ) {
52- this .authenticationManagerBuilder = authenticationManagerBuilder ;
53- this .loginSuccessHandler = loginSuccessHandler ;
54- this .userAccountSecurityService = userAccountSecurityService ;
55- this .applicationProperties = applicationProperties ;
45+ AuthenticationManagerBuilder auth ,
46+ // LoginSuccessHandler loginSuccessHandler,
47+ SimpleworklistUserAccountSecurityService simpleworklistUserAccountSecurityService ,
48+ SimpleworklistProperties simpleworklistProperties ) {
49+ this .authenticationManagerBuilder = auth ;
50+ // this.loginSuccessHandler = loginSuccessHandler;
51+ this .simpleworklistUserAccountSecurityService = simpleworklistUserAccountSecurityService ;
52+ this .simpleworklistProperties = simpleworklistProperties ;
5653 }
5754
5855 @ Override
@@ -61,35 +58,35 @@ protected void configure(HttpSecurity http) throws Exception {
6158 .headers ()
6259 .disable ()
6360 .authorizeRequests ()
64- .antMatchers (applicationProperties .getWebSecurity ().getAntPatternsPublic ())
61+ .antMatchers (simpleworklistProperties .getWebSecurity ().getAntPatternsPublic ())
6562 .permitAll ()
6663 .anyRequest ()
6764 .fullyAuthenticated ()
6865 .and ()
6966 .csrf ()
7067 .and ()
7168 .formLogin ()
72- .loginPage (applicationProperties .getWebSecurity ().getLoginPage ())
73- .usernameParameter (applicationProperties .getWebSecurity ().getUsernameParameter ())
74- .passwordParameter (applicationProperties .getWebSecurity ().getPasswordParameter ())
75- .loginProcessingUrl (applicationProperties .getWebSecurity ().getLoginProcessingUrl ())
76- .failureForwardUrl (applicationProperties .getWebSecurity ().getFailureForwardUrl ())
77- .defaultSuccessUrl (applicationProperties .getWebSecurity ().getDefaultSuccessUrl ())
78- .successHandler (loginSuccessHandler )
69+ .loginPage (simpleworklistProperties .getWebSecurity ().getLoginPage ())
70+ .usernameParameter (simpleworklistProperties .getWebSecurity ().getUsernameParameter ())
71+ .passwordParameter (simpleworklistProperties .getWebSecurity ().getPasswordParameter ())
72+ .loginProcessingUrl (simpleworklistProperties .getWebSecurity ().getLoginProcessingUrl ())
73+ .failureForwardUrl (simpleworklistProperties .getWebSecurity ().getFailureForwardUrl ())
74+ .defaultSuccessUrl (simpleworklistProperties .getWebSecurity ().getDefaultSuccessUrl ())
75+ // .successHandler(loginSuccessHandler)
7976 .permitAll ()
8077 .and ()
8178 .csrf ()
8279 .and ()
8380 .logout ()
84- .logoutUrl (applicationProperties .getWebSecurity ().getLogoutUrl ())
85- .deleteCookies (applicationProperties .getWebSecurity ().getCookieNamesToClear ())
86- .invalidateHttpSession (applicationProperties .getWebSecurity ().getInvalidateHttpSession ())
81+ .logoutUrl (simpleworklistProperties .getWebSecurity ().getLogoutUrl ())
82+ .deleteCookies (simpleworklistProperties .getWebSecurity ().getCookieNamesToClear ())
83+ .invalidateHttpSession (simpleworklistProperties .getWebSecurity ().getInvalidateHttpSession ())
8784 .permitAll ();
8885 }
8986
9087 @ Bean
9188 public UserDetailsService userDetailsService (){
92- return this .userAccountSecurityService ;
89+ return this .simpleworklistUserAccountSecurityService ;
9390 }
9491
9592 /**
@@ -98,8 +95,14 @@ public UserDetailsService userDetailsService(){
9895 */
9996 @ Bean
10097 public PasswordEncoder encoder (){
101- int strength = applicationProperties .getWebSecurity ().getStrengthBCryptPasswordEncoder ();
102- return new BCryptPasswordEncoder (strength );
98+ //int strength = simpleworklistProperties.getWebSecurity().getStrengthBCryptPasswordEncoder();
99+ //return new Pbkdf2PasswordEncoder(strength);
100+ CharSequence secret =this .simpleworklistProperties .getWebSecurity ().getSecret ();
101+ int iterations =this .simpleworklistProperties .getWebSecurity ().getIterations ();
102+ int hashWidth =this .simpleworklistProperties .getWebSecurity ().getHashWidth ();
103+ Pbkdf2PasswordEncoder encoder = (new Pbkdf2PasswordEncoder (secret ,iterations ,hashWidth ));
104+ encoder .setEncodeHashAsBase64 (true );
105+ return encoder ;
103106 }
104107
105108 @ Bean
@@ -113,7 +116,7 @@ public AuthenticationManager authenticationManager() throws Exception {
113116 public UsernamePasswordAuthenticationFilter authenticationFilter () throws Exception {
114117 UsernamePasswordAuthenticationFilter filter = new UsernamePasswordAuthenticationFilter ();
115118 filter .setAuthenticationManager (authenticationManager ());
116- filter .setFilterProcessesUrl (applicationProperties .getWebSecurity ().getLoginProcessingUrl ());
119+ filter .setFilterProcessesUrl (simpleworklistProperties .getWebSecurity ().getLoginProcessingUrl ());
117120 return filter ;
118121 }
119122}
0 commit comments