Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Securitiy jdbc用户服务未进行身份验证-凭据错误_Java_Spring_Security_Spring Jdbc - Fatal编程技术网

Java Spring Securitiy jdbc用户服务未进行身份验证-凭据错误

Java Spring Securitiy jdbc用户服务未进行身份验证-凭据错误,java,spring,security,spring-jdbc,Java,Spring,Security,Spring Jdbc,Spring Security让我感到不适,我无法回避身份验证错误。这是我的配置: <beans:bean id='bCryptPasswordEncoder' class='org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder'/> <authentication-manager> <authentication-provider> <password-

Spring Security让我感到不适,我无法回避身份验证错误。这是我的配置:

<beans:bean id='bCryptPasswordEncoder' class='org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder'/>
  <authentication-manager>
    <authentication-provider>
      <password-encoder ref="bCryptPasswordEncoder" />
      <jdbc-user-service
          data-source-ref="dataSource"
          users-by-username-query="select emplid as USERNAME ,password as PASSWORD,'true' AS ENABLED from app_user where emplid=?"
          authorities-by-username-query="select u.emplid, p.name from app_user u inner join app_user_app_permissions auap ON auap.app_users = u.id inner join app_permission p on p.id = auap.app_permissions where u.emplid =?" />
    </authentication-provider>
  </authentication-manager>
我已经验证了数据库中是否有正确的用户/密码,以及获取这些用户/密码的查询是否运行


如果你知道为什么这不起作用,那我就要发疯了。如果users by username查询工作正常,那么首先要检查的就是第二个查询。返回分配给用户的角色/权限的用户。要使登录尝试成功,用户必须至少有一个角色由权限通过用户名查询返回

要测试它,您可以使用如下查询:“从app_USER u中选择u.emplid,'USER',其中u.emplid=?”


如果它仍然不起作用,那么您最好的选择是将日志记录级别设置为DEBUG,并逐步查看Spring到底在做什么。

您在Seco中遇到了问题,查询意味着按用户名进行的权限查询,该查询应仅为用户名和角色,而不是电子邮件、姓名等

`<bean id="bcryptEncoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/>
<security:authentication-manager>
    <security:authentication-provider>
        <security:jdbc-user-service data-source-ref="ds"
        users-by-username-query="select user_name,user_password,enabled,user_email from user where user_name=?"
        authorities-by-username-query="select user_name,user_role from user_role where user_name=?"
        />
        <s
        <security:password-encoder hash="bcrypt" ref="bcryptEncoder"/>
    </security:authentication-provider>
</security:authentication-manager>`
`
`<bean id="bcryptEncoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/>
<security:authentication-manager>
    <security:authentication-provider>
        <security:jdbc-user-service data-source-ref="ds"
        users-by-username-query="select user_name,user_password,enabled,user_email from user where user_name=?"
        authorities-by-username-query="select user_name,user_role from user_role where user_name=?"
        />
        <s
        <security:password-encoder hash="bcrypt" ref="bcryptEncoder"/>
    </security:authentication-provider>
</security:authentication-manager>`