基于CAS实现单点登录(SSO):分享过程中遇到的问题及解决方案,让你少走弯路

在做 单点登录过程中,经历了一些问题及解决方案,分享出来,可以让你少走弯路。

主要分为两方面内容:基于CAS实现单点登录(SSO)实例讲解、CAS和Shiro集成


基于CAS实现单点登录(SSO)实例讲解 

配置完成之后出现问题404错误

首先查看对应应用的tomcat服务器的log日志,报错如下:

严重: Exception starting filter CAS Single Sign Out Filter

java.lang.NoClassDefFoundError:org/apache/commons/logging/LogFactory

经过此分析,说明是log类找不到,也即系统运行需要的有关log类包没有引入或引入错误,解决办法:

将commons-logging-1.1.jar拷贝到“webapps\examples\WEB-INF\lib”下即可。

commons-logging-1.1.jar包是在cas-client-3.2.1\modules中。

 

证书保存位置如果在C

d:/tomcat.keystore是将生成的tomcat.keystore放到d盘根目录下。注意若要放到c盘,在win7系统下,需要以管理员身份进入到命令行窗口中进行操作,否则是无法创建tomcat.keystore的。本例放到d盘下。

 


验证HTTPS配置时,tomcat提示No Certificate file specified or invalid file format

tomcat server.xml https配置中,将protocol="HTTP/1.1"替换为protocol="org.apache.coyote.http11.Http11Protocol"


 

解决一台机器同时运行多个Tomcat服务

编辑Tomcat/conf/server.xml,修改5端口,并修改默认编码为utf-8(以支持中文链接)

    示例:

    

 <Serverport="8005"shutdown="SHUTDOWN">

 

     <Connector port="8080"protocol="HTTP/1.1" 

              connectionTimeout="20000" 

              redirectPort="8443"URIEncoding='UTF-8'/>

 

      <Connector port="8009"protocol="AJP/1.3"protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"redirectPort="8443"URIEncoding='UTF-8'/>


修改成:

    <Serverport="18005"shutdown="SHUTDOWN">

 

           <Connector port="18080"protocol="HTTP/1.1" 

              connectionTimeout="20000" 

              redirectPort="18443"URIEncoding='UTF-8'/>

 

           <Connector port="18009"protocol="AJP/1.3"protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"redirectPort="18443"URIEncoding='UTF-8'/>

 

CAS和Shiro集成

   这个过程正在进行中,遇到的问题及解决方案稍后会更新到这里。


评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值