在spring security unix中,重定向到authentication-failure-url甚至细节都是正确的

时间:2015-03-12 11:36:46

标签: mysql unix spring-security

以下是我的springsecurity.xml

  <authentication-manager>
    <authentication-provider>
        <!--<user-service>-->
            <!--<user name="admin" password="secret" authorities="ROLE_ADMIN,ROLE_USER" />-->
            <!--<user name="user1" password="1111" authorities="ROLE_USER" />-->
        <!--</user-service>-->
        <jdbc-user-service data-source-ref="dataSource"
                users-by-username-query="select username,password, 'true' as enabled from USER_DETAILS where username=?"
                authorities-by-username-query="select USER_DETAILS.username , USER_AUTH.AUTHORITY as authorities from USER_DETAILS,USER_AUTH
                  where USER_DETAILS.username = ? AND USER_DETAILS.username=USER_AUTH.USERNAME "/>
    </authentication-provider>
</authentication-manager>

以下是数据源的详细信息

    login.jdbc.driver=com.mysql.jdbc.Driver
    login.url=jdbc:mysql://localhost:3306/DBNAME?autoReconnect=true
    login.username=xxxxxxxx
    login.password=xxxxxxxx

   ##c3p0 configurations
   login.c3p0.acquireIncrement=5
    login.c3p0.idleConnectionTestPeriod=6000
   login.c3p0.maxPoolSize=30
   login.c3p0.maxStatements=0
   login.c3p0.minPoolSize=10
   login.c3p0.initialPoolSize=10
    login.c3p0.maxIdleTime=0
   login.c3p0.acquireRetryAttempts=3
   login.c3p0.acquireRetryDelay=20000
   login.c3p0.breakAfterAcquireFailure=false

同样适用于我的开发机器,当它转移到生产登录时,机制失败。 一段时间后,它给出了“APPARENT DEADLOCK !!!为未分配的待处理任务创建紧急线程!”。错误。 现在它只是重定向到错误页面,即使用户详细信息是正确的。

1 个答案:

答案 0 :(得分:0)

MYSQL安装存在问题。

在我的身份验证管理器中----&gt; users-by-username-query,

表名是大写字母,在我的dev机器mysql接受表名而没有看到案例,但在生产中同样失败。

默认情况下,在Linux中,MYSQL表名称区分大小写。 因此,请检查您是否使用Windows作为DEV和生产机器作为LINUX。