CAS实现单点登录SSO经典完整教程.docx

上传人:b****5 文档编号:6899124 上传时间:2023-01-12 格式:DOCX 页数:10 大小:214.08KB
下载 相关 举报
CAS实现单点登录SSO经典完整教程.docx_第1页
第1页 / 共10页
CAS实现单点登录SSO经典完整教程.docx_第2页
第2页 / 共10页
CAS实现单点登录SSO经典完整教程.docx_第3页
第3页 / 共10页
CAS实现单点登录SSO经典完整教程.docx_第4页
第4页 / 共10页
CAS实现单点登录SSO经典完整教程.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

CAS实现单点登录SSO经典完整教程.docx

《CAS实现单点登录SSO经典完整教程.docx》由会员分享,可在线阅读,更多相关《CAS实现单点登录SSO经典完整教程.docx(10页珍藏版)》请在冰豆网上搜索。

CAS实现单点登录SSO经典完整教程.docx

CAS实现单点登录SSO经典完整教程

CAS实现单点登录(SSO)经典完整教程

一、简介

   1、cas是有耶鲁大学研发的单点登录服务器

   2、本教材所用环境

∙Tomcat7.2

∙JDK6

∙CASService版本  cas-server-3.4.8-release

∙CASClient版本   cas-client-3.2.1-release                 

   二、生成证书

 证书对于实现此单点登录非常之重要,证书是服务器端和客户端安全通信的凭证,本教程只是演示,所有用JDK自带的证书生成工具keytool。

当然在实际项目中你可以到专门的证书认证中心购买证书。

中文官方网站:

1、用JDK自带的keytool生成证书

               

[plain]viewplaincopy

1.命令:

keytool -genkey -alias  smalllove -keyalg RSA -keystore D:

/keys/smallkey  

          此命令是生成一个证书,其中smalllove是证书别名

   此命令的执行如图所示:

           

            其中名字与姓氏这一最好写你的域名,如果在单击测试你可以在C:

\Windows\System32\drivers\etc\hosts文件中映射一个虚拟域名,注意不要写IP。

      2、导出证书

[plain]viewplaincopy

1.命令:

C:

\>keytool -export -file d:

/keys/small.crt -alias smalllove -keystore d:

/keys/smallkey  

         如图:

            

        密码为上步设置的密码。

      3、把证书导入到客户端JDK中。

         

[plain]viewplaincopy

1.命令:

keytool -import -keystore C:

\Java\jdk1.6.0_21\lib\security\cacerts -file D:

/keys/small.crt -alias smalllove  

      此命令是把证书导入到JDK中。

      如图:

       

      到此证书导入成功。

      注意:

在此步有可能出现如下错误

    

[plain]viewplaincopy

1.C:

\>keytool -import -keystore C:

\Java\jdk1.6.0_21\lib\security\cacerts -file D:

/keys/small.crt -alias smalllove  

2.   输入keystore密码:

  

3. keytool错误:

 java.io.IOException:

 Keystore was tampered with, or password was incorrect  

            次错误的解决方法是,把%JAVA_HOME%\lib\security下的cacerts文件删除掉,在执行。

          

   三、配置服务端

            1、下载CAS的服务端,解压,把解压后的文件中modules文件夹中的cas-server-webapp-3.4.8.war文件拷贝的%TOMCAT_HOME%\webapps

        下,并修改文件名为:

cas.war。

            2、修改%TOMCAT_HOME%\conf\server.xml文件

                去掉此文件83到93行之间的注释,修改为:

             

[html]viewplaincopy

1.

2.               maxThreads="150" scheme="https" secure="true"  

3.               clientAuth="false" sslProtocol="TLS"   

4.               keystoreFile="D:

/keys/smallkey"  

--在2.1中生成的证书的位置-->  

5.               keystorePass="smalllove"/>       

--在2.1中设置的密码-->  

           3、以上配置完成访问http:

//yourhost:

8443/cas出现一下页面

                   

              点击继续浏览会出现

                      

             输入用户名admin和密码admin登录则会出现

                    

             登录成功。

             至此,说明服务端配置成功。

  四、配置客户端

          1、添加客户端到你的项目中

              ·手动下载下载cas-client,地址:

http:

//www.ja-sig.org/downloads/cas-clients/,然后解压cas-client-3.1.12.zip,在modules文件夹中有需要的jar包,            请根据自己的项目情况选择使用,把相应的jar包放到你项目WEB-INF/lib下。

          ·使用maven

                

[html]viewplaincopy

1.

-- cas -->  

2.  

3.    org.jasig.cas.client  

4.    cas-client-core  

5.    3.1.12  

6.  

         2、在客户端项目的web.xml配置过滤器

             

[html]viewplaincopy

1.

-- ======================== 单点登录开始 ======================== -->  

2.    

-- 用于单点退出,该过滤器用于实现单点登出功能,可选配置 -->  

3.      

4.        org.jasig.cas.client.session.SingleSignOutHttpSessionListener  

5.      

6.  

7.    

-- 该过滤器用于实现单点登出功能,可选配置。

 -->  

8.      

9.        CAS Single Sign Out Filter  

10.        org.jasig.cas.client.session.SingleSignOutFilter  

11.      

12.      

13.        CAS Single Sign Out Filter  

14.        /*  

15.      

16.  

17.    

-- 该过滤器负责用户的认证工作,必须启用它 -->  

18.      

19.        CASFilter  

20.        org.jasig.cas.client.authentication.AuthenticationFilter  

21.          

22.            casServerLoginUrl  

23.            :

8443/cas/login  

24.            

--这里的server是服务端的IP -->  

25.          

26.          

27.            serverName  

28.            :

8080

#FF0000;"> ①  

29.          

30.      

31.      

32.        CASFilter  

33.        /*  

34.      

35.  

36.    

-- 该过滤器负责对Ticket的校验工作,必须启用它 -->  

37.      

38.        CAS Validation Filter  

39.          

40.            org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter  

41.          

42.            casServerUrlPrefix  

43.            :

8443/cas  

44.          

45.          

46.            serverName  

47.            :

8080  

#FF0000;">②  

48.          

49.      

50.      

51.        CAS Validation Filter  

52.        /*  

53.      

54.  

55.    

-- 该过滤器负责实现HttpServletRequest请求的包裹, 比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。

 -->  

56.      

57.        CAS HttpServletRequest Wrapper Filter  

58.          

59.            org.jasig.cas.client.util.HttpServletRequestWrapperFilter  

60.      

61.      

62.        CAS HttpServletRequest Wrapper Filter  

63.        /*  

64.      

65.  

66.    

-- 该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。

 比如AssertionHolder.getAssertion().getPrincipal().getName()。

 -->  

67.      

68.        CAS Assertion Thread Local Filter  

69.        org.jasig.cas.client.util.AssertionThreadLocalFilter  

70.      

71.      

72.        CAS Assertion Thread Local Filter  

73.        /*  

74.      

75.  

76.    

-- ======================== 单点登录结束 ======================== -->  

        

  五、常见问题说明

          错误一、

               

     若出现以上错原因是:

你在客户端的web.xml中①,②的配置有误。

       错误二、

              

[plain]viewplaincopy

1..ssl.SSLHandshakeException:

 sun.security.validator.ValidatorException:

   

2.PKIX path building failed:

 sun.security.provider.certpath.SunCertPathBuilderException:

   

3.unable to find valid certification path to requested target  

          若出现次错误是有与你客户端的证书有问题。

重新导入你证书。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1