基于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(以支持中文链接)

    示例:

    

 8005"shutdown="SHUTDOWN">

 

     8080"protocol="HTTP/1.1" 

              connectionTimeout="20000" 

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

 

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


修改成:

    18005"shutdown="SHUTDOWN">

 

           18080"protocol="HTTP/1.1" 

              connectionTimeout="20000" 

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

 

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

 

CAS和Shiro集成

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


你可能感兴趣的:(企业应用)