Johnson Carson
Johnson Carson

Reputation: 15

Spring Security UserDetailsManager

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

Answers (0)

Related Questions