[英]MySQL query in spring-security.xml for authorization
Q1。 >如何检查spring-security.xml中是否执行了以下两个查询?
<jdbc-user-service data-source-ref="dataSource"
users-by-username-query=
"select user_login_name as username,user_password as password,user_type_id,role_id from sox_audit.sox_users where user_login_name=? and user_password=?"
authorities-by-username-query=
"select user_login_name as username,role_id as authority from sox_audit.sox_users where user_login_name ='sriram@gmail.com' and user_password='12345' "/>
我可以使用硬编码值登录并根据用户类型提供权限。 但是我不能通过从数据库中选择记录。
谁能帮我这个忙。
为实现了UserDetailsService
JdbcDaoImpl
启用日志。 就像是:
log4j.logger.org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl=DEBUG
如果那不起作用,请在此类上添加一些断点,然后在运行时对其进行调试。
我解决了 事情是查询错误。 用户按用户名查询将仅使用3个参数。 它应该是用户名,密码并从数据库启用。 另外,按用户名查询的权限将使用2个参数。
users-by-username-query=
"select user_login_name as username,user_password as password,enabled from sox_audit.sox_users where user_login_name=?"
authorities-by-username-query=
"select user_login_name as username,authority from sox_audit.sox_users where user_login_name =?"/>
然后在HomeController中控制用户。 这将完美地工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.