以下是我的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 !!!为未分配的待处理任务创建紧急线程!”。错误。 现在它只是重定向到错误页面,即使用户详细信息是正确的。
答案 0 :(得分:0)
MYSQL安装存在问题。
在我的身份验证管理器中----&gt; users-by-username-query,
表名是大写字母,在我的dev机器mysql接受表名而没有看到案例,但在生产中同样失败。
默认情况下,在Linux中,MYSQL表名称区分大小写。 因此,请检查您是否使用Windows作为DEV和生产机器作为LINUX。