cas实现单点登录的简单例子

按照如下的配置成功:
1首先我打开tomcat5.5的SSL
修改Tomcat配置文件server.xml,去掉对于SSL的注释,即开放8443端口
修改后相关代码如下:
    <Connector port="8443" keystorePass="changeit"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" disableUploadTimeout="true"
               acceptCount="100" debug="0" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"/>
    说明:keystorePass是添加的配置项,即为证书库密码,tomcat服务器默认为changeit
2.生成安全证书
首先在命令行中切换到 %java_home%\jre\lib\security目录
%java_home%\bin\keytool -genkey -alias tomcat -keyalg RSA
密码是:changeit
姓名是:localhost
其他随便写的
之后是
%java_home%\bin\keytool -export -alias tomcat -file server.crt

%java_home%\bin\keytool -import -file server.crt -keystore %java_home%/jre/lib/security/cacerts
3.将CAS server3.0.2中target目录中的CAS.war复制到%tomcat_home%\webapps目录下.
(或者\cas-server-2.0.12\lib目录中的CAS.war也可以)
4.将cas-client-2.0.11\java\lib文件复制到%tomcat_home%\webapps\servlets-examples\WEB-INF\lib中(没有lib文件夹,自己建一个)
5.修改tomcat自带的servlet-examples的web.xml, 加入cas的过滤器:

<filter>
<filter-name>CASFilter</filter-name>
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://localhost:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://localhost:8443/cas/proxyValidate</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>localhost:8080</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CASFilter</filter-name>
<url-pattern>/servlet/*</url-pattern>
</filter-mapping>
6.启动tomcat !,CAS.war文件被自动在webapps下释放出CAS目录
进入http://localhost:8080/servlets-examples,如果配置正确就搞定了,浏览显示的时候提示安装证书(你就选择安装上面导出的那个证书,也可从IE--工具--Internet首选项--内容--证书--然后按提示导入即可)。

 如果是IE的话,首先会弹出一个对话框,提示你证书不是由信任的机构颁发的。这个是很自然的,因为证书是自己生成的。

  单击“查看证书”,单击“安装证书”,在向导种选择“将所有的证书放在下面存储区”,然后单击“浏览”,选择“受信任的根证书颁发机构”。单击确定安装证书。这样IE以后就会认为证书是由受信任的机构颁发的。

  如果不想安装,也可以直接在对话框中单击“是”

随便点击一个Execute,系统被自动转发到CAS的登陆页面.
输入相同的用户名和密码,之后跳转回原来页面
注意:
在制作一个自签名的credential了, 在生成keystore文件的时候密码是:changeit(这是tomcat默认的),你的名字一定要是:localhost,当然这是你需要把CAS client和CAS server放在同一台机器上进行测试用的.



---------

注意事项:

1 生成crt的jre必须为tomcat用的jdk的jre,否则找不到证书.

2 filter中的<url-pattern>/servlet/*</url-pattern>是需要验证的url或context.

3 cas2.0.11和tomcat5.5.16 windows安装版可能有不兼容(据说是).

你可能感兴趣的:(tomcat,servlet,浏览器,IE,Security)