<code>import statements;
@Configuration
public class AppSecurity {
@Autowired
private DataSource dataSource;
@Bean
public UserDetailsService userDetailsService() {
JdbcUserDetailsManager userDetailsManager = new JdbcUserDetailsManager(dataSource);
userDetailsManager.setUsersByUsernameQuery("SELECT mobile, pin, 1 AS enabled FROM users WHERE mobile = ?");
userDetailsManager.setAuthoritiesByUsernameQuery("SELECT mobile, 'ROLE_USER' FROM users WHERE mobile = ?");
return userDetailsManager;
}
@Bean
public PasswordEncoder passwordEncoder() {
return NoOpPasswordEncoder.getInstance();
}
@Bean
public SecurityFilterChain filter(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests(configure ->
configure.requestMatchers(HttpMethod.POST, "/api/**")
.hasRole("USER")
.requestMatchers(HttpMethod.GET, "/api/**")
.hasRole("USER")
);
http.httpBasic(Customizer.withDefaults());
return http.build();
}
}
</code>
<code>import statements;
@Configuration
public class AppSecurity {
@Autowired
private DataSource dataSource;
@Bean
public UserDetailsService userDetailsService() {
JdbcUserDetailsManager userDetailsManager = new JdbcUserDetailsManager(dataSource);
userDetailsManager.setUsersByUsernameQuery("SELECT mobile, pin, 1 AS enabled FROM users WHERE mobile = ?");
userDetailsManager.setAuthoritiesByUsernameQuery("SELECT mobile, 'ROLE_USER' FROM users WHERE mobile = ?");
return userDetailsManager;
}
@Bean
public PasswordEncoder passwordEncoder() {
return NoOpPasswordEncoder.getInstance();
}
@Bean
public SecurityFilterChain filter(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests(configure ->
configure.requestMatchers(HttpMethod.POST, "/api/**")
.hasRole("USER")
.requestMatchers(HttpMethod.GET, "/api/**")
.hasRole("USER")
);
http.httpBasic(Customizer.withDefaults());
return http.build();
}
}
</code>
import statements;
@Configuration
public class AppSecurity {
@Autowired
private DataSource dataSource;
@Bean
public UserDetailsService userDetailsService() {
JdbcUserDetailsManager userDetailsManager = new JdbcUserDetailsManager(dataSource);
userDetailsManager.setUsersByUsernameQuery("SELECT mobile, pin, 1 AS enabled FROM users WHERE mobile = ?");
userDetailsManager.setAuthoritiesByUsernameQuery("SELECT mobile, 'ROLE_USER' FROM users WHERE mobile = ?");
return userDetailsManager;
}
@Bean
public PasswordEncoder passwordEncoder() {
return NoOpPasswordEncoder.getInstance();
}
@Bean
public SecurityFilterChain filter(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests(configure ->
configure.requestMatchers(HttpMethod.POST, "/api/**")
.hasRole("USER")
.requestMatchers(HttpMethod.GET, "/api/**")
.hasRole("USER")
);
http.httpBasic(Customizer.withDefaults());
return http.build();
}
}
this is my configuration class
this config class allow user to login with their mobileno and pin .
i am storing the password as plain text (noop).
and i am storing the passowrds in database without encryption id (ex: {noop}, {bcrypt} …)
but the
<code>@Bean
public PasswordEncoder passwordEncoder() {
return NoOpPasswordEncoder.getInstance();
}
</code>
<code>@Bean
public PasswordEncoder passwordEncoder() {
return NoOpPasswordEncoder.getInstance();
}
</code>
@Bean
public PasswordEncoder passwordEncoder() {
return NoOpPasswordEncoder.getInstance();
}
Intellij shows NoOpPasswordEncoder is deprecated
is there any other way to achieve the authentication
Note: I am storing the passwords without the encrypt id i.e,. ‘0000’ not ‘{noop}0000’
New contributor
tarun swaroop is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.