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' "/>
我可以使用硬编码值登录,并根据用户类型授予权限。但我无法通过从DB中选择记录。
任何人都可以帮助我。
答案 0 :(得分:1)
启用实现JdbcDaoImpl
的{{1}}的日志。
类似的东西:
UserDetailsService
如果这不起作用,请在此类上添加一些断点并在运行时调试它。
答案 1 :(得分:0)
我解决了。 事情是查询错误。 users-by-username-query只需3个参数。它应该是用户名,密码并从数据库启用。 也, authority-by-username-query将采用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中控制用户。这将完美地运作。