安装cas+redis 总是遇到“Could not get a resource from the pool ”问题的原因

这里不说代码问题,只是拿别人正常跑cas项目放到自己部门的服务器遇到的;检查以下配置

1、防火墙: 把部署cas项目的端口,redis的端口都配置入站规则;

2、redis:在redis.windows.conf 的  bind 127.0.0.1  后面加个部署redis所在的服务器的内网IP  如: bind 127.0.0.1 192.168.14.211,外网不清楚

3、cas项目的deployerConfigContext.xml文件;

<util:map id="authenticationHandlersResolvers">
<entry key-ref="proxyAuthenticationHandler" value-ref="proxyPrincipalResolver" />
<!-- <entry key-ref="primaryAuthenticationHandler" value-ref="primaryPrincipalResolver" /> --><!-这里一堆什么玩意,全去掉 --> 
<entry key-ref="dbAuthHandler_pst" > <null/></entry>//红色字体对照下面的
<!--<entry key-ref="thirdAuthenticationHandler" value-ref="primaryPrincipalResolver" /> -->
</util:map>

<bean id="dataSource_pst"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
p:driverClass="com.mysql.jdbc.Driver"
p:jdbcUrl="jdbc:mysql://127.0.0.1:3306/数据库名?useUnicode=true&amp;characterEncoding=UTF-8&amp;zeroDateTimeBehavior=convertToNull"
p:user="test"
p:password="test"
p:minPoolSize="20"
p:maxPoolSize="50"
p:idleConnectionTestPeriod="18000"/>

<!--通过数据库验证身份,这个得自己去实现 -->
<bean id="dbAuthHandler_pst"
class="com.hho.cas.authentication.adaptors.UcUserAuthenticationHandler"
p:dataSource-ref="dataSource_pst"
p:passwordEncoder-ref="passwordEncoder"
p:sql="select * from sys_user where login_name=? or name=?" /> //数据库中必须要有这个表sys_user,
<!--uc mysql连接 end -->

posted @ 2018-04-21 14:49  酱油君nihao  阅读(606)  评论(0编辑  收藏  举报