2024年9月22日发(作者:首丁辰)
CAS搭建及其配置
一.准备工作
1. Tomcat6
2. JDK6
3. CAS Server:
4. CAS Client:
5. 客户端应用(jobcruzer,datecruzer)
二.创建证书(
用JDK自带的keytool工具生成证书):
命令:keytool -genkey -alias michael -keyalg RSA -keystore d:/keyss/michaelkey
密码:michael
上图中SSO服务器地址为,因为在本机使用,需要创建虚拟域名地址:
三.导出证书
命令:D:keyss>keytool -export -file d:/keyss/ -alias michael -keystore
d:/keyss/michaelkey
密码:michael
查看D:keyss
四.为客户端的JVM导入证书
命令:keytool -import -keystore C:/Program Files/Java/jdk1.6.0_14/jre/lib/security/cacerts -file
D:/keyss/ -alias michael
密码:changeit
五.配置Tomcat的HTTPS服务
编辑apache-tomcat-6.0.14conf下的文件,在connector的配置位置添加以下的配
置:
port="8443" minSpareThreads="5" maxSpareThreads="75" enableLookups="true" disableUploadTimeout="true" acceptCount="100" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" keystoreFile="D:keyss/re" keystorePass="michael " clientAuth="false" sslProtocol="TLS"/> 启动tomcat,在浏览器输入地址::8443 就会提示证书安全问题, 点击“继续浏览”就可进入tomcat目录。 六.测试上面配置是否成功 1.解压 , 2.解压 cas-server-3.4.12/modules/改名为cas,然后复制cas到 tomcat/webapp目录下 3.运行tomcat访问:8443/cas/login 输入admin/admin点击登录(CAS默认的验证规则只要用户名和密码相同就通过)如果你看 到下面的图片以上配置成功了。 七.CAS读取数据库的信息进行身份验证(注释默认认证) 1. 首先打开Tomcat 6.0/webapps/cas/WEB-INF/ 文件,配置的地方 如下: a. 找到并注释掉:SimpleTestUsernamePasswordAuthenticationHandler(这个验证Handler, 这个是比较简单的,只是判断用户名和密码相同即可通过,这个肯定不能在实际应用中 使用,弃用!),添加下图中与之间的配置(中间的sql根 据实际应用配置,这里配置了两个:第一个是jobcruzer,第二个是datecruzer). b. 在文件的末尾之前加入如下代码(DateSource) c. 使用c3p0(ties, ties, ties) 修改Tomcat 6.0/webapps/cas/WEB-INF/spring-configuration/ 八.上面CAS Server与CAS Client 的交互使用了SSL(https)协议,现在改成http协议: 1. 注释掉tomcat/conf/文件中的这段内容:(五.配置Tomcat的HTTPS服务) 2. webapps/cas/WEB-INF/文件中找到如下内容 (p:requireSecure="false",表示不需要安全协议) 3. webapps/cas/WEB-INF/spring-configuration/文件中 找到如下内容 p:cookieSecure="false",表示cookie也不需要安全协议,p:cookieMaxAge设置cookie 的有效时长。 九.把CAS Server的登录页面风格(如:六.测试上面配置是否成功)改成Client端风格 ================================================================== 在css,images中分别添加Client端的css,图片 十.账号在CAS Server登录成功后,返回多信息(cas登录成功默认返回的只有用户名) 1. 配置文件下的id= “ attributeRepository”的 Bean。 2. 为UsernamePasswordCredentialsToPrincipalResolver注入attributeRepository。 . 3.修改WEB-INF/view/jsp/protocol/2.0/ 4.修改id=” serviceRegistryDao” bean. 十一.登录页面添加验证码 1. 2. , 3.定义Class 4.在登录页面()添加验证码 十二.Client端定义登录页面 CAS Server的配置 1. 定义Class 2. , 3.定义 , 4.定义WEB-INF /view/jsp/default/ui/ 5.在default_ties中添加的映射 6./cas/logout 替换 remoteLogout(移除与其相关的内容) 如: :8080/cas/logout?service=:8080/jobsso/index. action 当p:followServiceRedirects="true"时Client端应用登出时,重定向到service参数指定 的页面。 7.在Class: . 中添加 public final String submit(final RequestContext context, final MessageContext messageContext) throws Exception {… … 注: 8.添加属性 不用配置了,解决登录失败信息多语言的问题} 8.添加属性 一至十一 是:使用CAS Server 登录的实现(可以结合十二,CAS Server 部分就可以,主要靠 Client应用部分的搭配来实现) 十二是使用Client应用登录的实现(一至十一,有一部分是多余的。) 在线文档: cas+tomcat开发单点登录教程(定制认证方式篇) 让CAS支持客户端自定义登陆页面——服务端新篇3.4版本 spring web flow 2.X 让CAS支持客户端自定义登陆页面——客户端篇 基于CAS官方提供的Java客户 端3.1.3 cas 3.4登录成功返回用户更多信息 /question/122450082
2024年9月22日发(作者:首丁辰)
CAS搭建及其配置
一.准备工作
1. Tomcat6
2. JDK6
3. CAS Server:
4. CAS Client:
5. 客户端应用(jobcruzer,datecruzer)
二.创建证书(
用JDK自带的keytool工具生成证书):
命令:keytool -genkey -alias michael -keyalg RSA -keystore d:/keyss/michaelkey
密码:michael
上图中SSO服务器地址为,因为在本机使用,需要创建虚拟域名地址:
三.导出证书
命令:D:keyss>keytool -export -file d:/keyss/ -alias michael -keystore
d:/keyss/michaelkey
密码:michael
查看D:keyss
四.为客户端的JVM导入证书
命令:keytool -import -keystore C:/Program Files/Java/jdk1.6.0_14/jre/lib/security/cacerts -file
D:/keyss/ -alias michael
密码:changeit
五.配置Tomcat的HTTPS服务
编辑apache-tomcat-6.0.14conf下的文件,在connector的配置位置添加以下的配
置:
port="8443" minSpareThreads="5" maxSpareThreads="75" enableLookups="true" disableUploadTimeout="true" acceptCount="100" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" keystoreFile="D:keyss/re" keystorePass="michael " clientAuth="false" sslProtocol="TLS"/> 启动tomcat,在浏览器输入地址::8443 就会提示证书安全问题, 点击“继续浏览”就可进入tomcat目录。 六.测试上面配置是否成功 1.解压 , 2.解压 cas-server-3.4.12/modules/改名为cas,然后复制cas到 tomcat/webapp目录下 3.运行tomcat访问:8443/cas/login 输入admin/admin点击登录(CAS默认的验证规则只要用户名和密码相同就通过)如果你看 到下面的图片以上配置成功了。 七.CAS读取数据库的信息进行身份验证(注释默认认证) 1. 首先打开Tomcat 6.0/webapps/cas/WEB-INF/ 文件,配置的地方 如下: a. 找到并注释掉:SimpleTestUsernamePasswordAuthenticationHandler(这个验证Handler, 这个是比较简单的,只是判断用户名和密码相同即可通过,这个肯定不能在实际应用中 使用,弃用!),添加下图中与之间的配置(中间的sql根 据实际应用配置,这里配置了两个:第一个是jobcruzer,第二个是datecruzer). b. 在文件的末尾之前加入如下代码(DateSource) c. 使用c3p0(ties, ties, ties) 修改Tomcat 6.0/webapps/cas/WEB-INF/spring-configuration/ 八.上面CAS Server与CAS Client 的交互使用了SSL(https)协议,现在改成http协议: 1. 注释掉tomcat/conf/文件中的这段内容:(五.配置Tomcat的HTTPS服务) 2. webapps/cas/WEB-INF/文件中找到如下内容 (p:requireSecure="false",表示不需要安全协议) 3. webapps/cas/WEB-INF/spring-configuration/文件中 找到如下内容 p:cookieSecure="false",表示cookie也不需要安全协议,p:cookieMaxAge设置cookie 的有效时长。 九.把CAS Server的登录页面风格(如:六.测试上面配置是否成功)改成Client端风格 ================================================================== 在css,images中分别添加Client端的css,图片 十.账号在CAS Server登录成功后,返回多信息(cas登录成功默认返回的只有用户名) 1. 配置文件下的id= “ attributeRepository”的 Bean。 2. 为UsernamePasswordCredentialsToPrincipalResolver注入attributeRepository。 . 3.修改WEB-INF/view/jsp/protocol/2.0/ 4.修改id=” serviceRegistryDao” bean. 十一.登录页面添加验证码 1. 2. , 3.定义Class 4.在登录页面()添加验证码 十二.Client端定义登录页面 CAS Server的配置 1. 定义Class 2. , 3.定义 , 4.定义WEB-INF /view/jsp/default/ui/ 5.在default_ties中添加的映射 6./cas/logout 替换 remoteLogout(移除与其相关的内容) 如: :8080/cas/logout?service=:8080/jobsso/index. action 当p:followServiceRedirects="true"时Client端应用登出时,重定向到service参数指定 的页面。 7.在Class: . 中添加 public final String submit(final RequestContext context, final MessageContext messageContext) throws Exception {… … 注: 8.添加属性 不用配置了,解决登录失败信息多语言的问题} 8.添加属性 一至十一 是:使用CAS Server 登录的实现(可以结合十二,CAS Server 部分就可以,主要靠 Client应用部分的搭配来实现) 十二是使用Client应用登录的实现(一至十一,有一部分是多余的。) 在线文档: cas+tomcat开发单点登录教程(定制认证方式篇) 让CAS支持客户端自定义登陆页面——服务端新篇3.4版本 spring web flow 2.X 让CAS支持客户端自定义登陆页面——客户端篇 基于CAS官方提供的Java客户 端3.1.3 cas 3.4登录成功返回用户更多信息 /question/122450082