@@ -59,24 +59,24 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
5959 private void configure (HttpSecurity http ) throws Exception {
6060 if (!securityProperties .isEnabled ())
6161 http
62- .csrf (AbstractHttpConfigurer ::disable )
63- .authorizeHttpRequests ((configurer ) -> configurer .requestMatchers ("/**" ).permitAll ());
62+ .csrf (AbstractHttpConfigurer ::disable )
63+ .authorizeHttpRequests ((configurer ) -> configurer .requestMatchers ("/**" ).permitAll ());
6464 else
6565 http
66- .csrf (AbstractHttpConfigurer ::disable )
67- .formLogin (AbstractHttpConfigurer ::disable )
68- .authorizeHttpRequests ((configurer ) -> configurer
69- .requestMatchers ("/rserver/**" ).hasAnyRole (Roles .ROCK_ADMIN , Roles .ROCK_MANAGER )
70- .requestMatchers ("/r/sessions/**" ).hasAnyRole (Roles .ROCK_ADMIN , Roles .ROCK_MANAGER , Roles .ROCK_USER )
71- .requestMatchers ("/r/session/**" ).hasAnyRole (Roles .ROCK_ADMIN , Roles .ROCK_USER )
72- .requestMatchers ("/" ).permitAll ()
73- .requestMatchers ("/_check" ).permitAll ()
74- .requestMatchers ("/_info" ).permitAll ()
75- .anyRequest ().denyAll ())
76- .httpBasic ((configurer ) -> configurer
77- .realmName ("RockRealm " )
78- .authenticationEntryPoint (getBasicAuthenticationEntryPoint ()))
79- .sessionManagement ((configurer ) -> configurer .sessionCreationPolicy (SessionCreationPolicy .STATELESS ));
66+ .csrf (AbstractHttpConfigurer ::disable )
67+ .formLogin (AbstractHttpConfigurer ::disable )
68+ .authorizeHttpRequests ((configurer ) -> configurer
69+ .requestMatchers ("/rserver/**" ).hasAnyRole (Roles .ROCK_ADMIN , Roles .ROCK_MANAGER )
70+ .requestMatchers ("/r/sessions/**" ).hasAnyRole (Roles .ROCK_ADMIN , Roles .ROCK_MANAGER , Roles .ROCK_USER )
71+ .requestMatchers ("/r/session/**" ).hasAnyRole (Roles .ROCK_ADMIN , Roles .ROCK_USER )
72+ .requestMatchers ("/" ).permitAll ()
73+ .requestMatchers ("/_check" ).permitAll ()
74+ .requestMatchers ("/_info" ).permitAll ()
75+ .anyRequest ().denyAll ())
76+ .httpBasic ((configurer ) -> configurer
77+ .realmName ("Rock " )
78+ .authenticationEntryPoint (getBasicAuthenticationEntryPoint ()))
79+ .sessionManagement ((configurer ) -> configurer .sessionCreationPolicy (SessionCreationPolicy .STATELESS ));
8080 }
8181
8282 private BasicAuthenticationEntryPoint getBasicAuthenticationEntryPoint () {
@@ -85,11 +85,10 @@ private BasicAuthenticationEntryPoint getBasicAuthenticationEntryPoint() {
8585
8686 private PasswordEncoder newPasswordEncoder () {
8787 Map <String , PasswordEncoder > encoders = Maps .newHashMap ();
88- encoders .put ("noop" , new NoOpPasswordEncoder ());
8988 encoders .put ("bcrypt" , new BCryptPasswordEncoder (-1 , new SecureRandom ()));
9089 encoders .put ("pbkdf2" , Pbkdf2PasswordEncoder .defaultsForSpringSecurity_v5_8 ());
9190 encoders .put ("scrypt" , SCryptPasswordEncoder .defaultsForSpringSecurity_v5_8 ());
92- return new DelegatingPasswordEncoder ("noop " , encoders );
91+ return new DelegatingPasswordEncoder ("bcrypt " , encoders );
9392 }
9493
9594 @ Bean
@@ -109,8 +108,13 @@ public UserDetailsService userDetailsService() {
109108 log .debug (u .getId () + ":" + u .getSecret () + ":" + Joiner .on (";" ).join (u .getRoles ()));
110109 String [] roles = new String [u .getRoles ().size ()];
111110 roles = u .getRoles ().stream ().map (String ::toUpperCase ).toList ().toArray (roles );
111+ String encodedPassword = u .getSecret ().startsWith ("{" ) ? u .getSecret () : passwordEncoder .encode (u .getSecret ());
112+ // Validate password is not empty and follows expected format
113+ if (encodedPassword == null || encodedPassword .isEmpty () || encodedPassword .length () < 8 ) {
114+ throw new IllegalArgumentException ("Password must be at least 8 characters long" );
115+ }
112116 manager .createUser (User .withUsername (u .getId ())
113- .password (u . getSecret (). startsWith ( "{" ) ? u . getSecret () : passwordEncoder . encode ( u . getSecret ()) )
117+ .password (encodedPassword )
114118 .roles (roles )
115119 .build ());
116120 });
0 commit comments