使用带有两个表的 postgresql 数据库来验证登录...(用户和权限)
CREATE TABLE users
(
username character(50) NOT NULL,
password character(50) NOT NULL,
enabled boolean NOT NULL,
CONSTRAINT users_pkey PRIMARY KEY (username)
)
CREATE TABLE authorities
(
username character(50) NOT NULL,
authority character(50) NOT NULL,
CONSTRAINT fk_authorities_users FOREIGN KEY (username)
REFERENCES users (username) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
当我尝试执行以下操作时,我做错了什么?
registerAuthentication(AuthenticationManagerBuilder auth){
auth.
jdbcAuthentication()
.dataSource(dataSource)
.usersByUsernameQuery("select username,password,enabled
from users where username = ?")
.authoritiesByUsernameQuery("select username,authority from
authorities where username = ?");
}
谢谢
请您参考如下方法:
试试这个:
auth.jdbcAuthentication()
.dataSource(dataSource)
.usersByUsernameQuery("select username as principal, password as credentials, true from users where username = ?")
.authoritiesByUsernameQuery("select username as principal, authority as role from authorities where username = ?")
.rolePrefix("ROLE_");