Reputation: 15
I am learning about Spring Security, and I have question about the JdbcUserDetailsManager class.
I am using JdbcUserDetailsManager. However, I do not have an authorities table and Spring forces me to have an authorities table, otherwise it will give an error. I tried to comment the setCreateAuthoritySql but it automatically runs the sql command "INSERT INTO authorities (username, authority) values (?,?)". Can I use the userDetailsManager without authorities table? I have also checked similar posts and I can't find the results of this.
@Bean
UserDetailsManager users(DataSource dataSource) {
JdbcUserDetailsManager userDetailsManager = new JdbcUserDetailsManager(dataSource);
userDetailsManager.setCreateUserSql("INSERT INTO users (email, password, enabled) VALUES (?,?,?)");
userDetailsManager.setCreateAuthoritySql("INSERT INTO authorities (email, authority) values (?,?)");
userDetailsManager.setUsersByUsernameQuery("SELECT email, password, enabled FROM users WHERE email = ?");
userDetailsManager.setAuthoritiesByUsernameQuery("SELECT email, authorities FROM authorities WHERE email = ?");
return userDetailsManager;
}
Upvotes: 0
Views: 27