1、简介
官方网站:http://www.ja-sig.org/products/cas/
2、安装
服务端安装:linux s3,apache-tomcat-6.0.10,jdk1.5.0_08
下载:
CAS Server 3.0.7 Final (stable)
部署cas-server-3.0.7\target\cas.war到tomcat
启用tomcat的ssl:
生成keystore:
[oracle@localhost cas]$ rm ~/.keystore
[oracle@localhost cas]$ $JAVA_HOME/bin/keytool/keytool -genkey -alias tomcat -keyalg RSA
输入keystore密码: helloworld
您的名字与姓氏是什么?
[Unknown]: helloword.test.com --注意:在后面配置客户端时认证url的host部分一定要和此处所填写的一样。另外,此处填写根据客户机访问服务器的方式,有三种选择。1、 服务器,客户机都在互联网上,客户机只能通过域名访问服务器。那么就只能填写服务器的域名。2、服务器,客户机在同一局域网内,客户机可以通过主机名访问服务器时。那么就可以填写服务的主机名。3、如果客户端,服务端在同一台机器上就可以填写localhost。
您的组织单位名称是什么?
[Unknown]: helloword
您的组织名称是什么?
[Unknown]: helloword
您所在的城市或区域名称是什么?
[Unknown]: bj
您所在的州或省份名称是什么?
[Unknown]: bj
该单位的两字母国家代码是什么
[Unknown]: CN
CN=helloword.test.com, OU=helloword, O=helloword, L=bj, ST=bj, C=CN 正确吗?
[否]: y
输入的主密码
(如果和 keystore 密码相同,按回车):
[oracle@localhost cas]$
修改tomcat配置,开放https服务:
在apache-tomcat-6.0.10/conf/server.xml中找到
<connector maxhttpheadersize="8192" port="8443">
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" /> </connector>
去掉前后的注释符修改成
<connector maxhttpheadersize="8192" port="8443">
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false"
keystorePass="helloworld "
sslProtocol="TLS" /></connector>
启动tomcat,浏览https://helloword.test.com:8443/cas/。出现登陆界面,用户名和密码输入相同的任意字符串,登陆成功!即宣告服务器配置完成。
导出keystore,供客户端使用:
[oracle@localhost cas]$ keytool -export -alias tomcat -file server.crt
输入keystore密码: helloworld
保存在文件中的认证
Yale Java Client
2.1.1
Download
把服务器导出的认证文件server.crt拷贝到客户端机器%JAVA_HOME%\jre\lib\security\server.crt
在客户端机器倒入服务器证书:
D:\cas>cd %JAVA_HOME%\jre\lib\security\
D:\Program Files\Java\jdk1.5.0_06\jre\lib\security>del cacerts
D:\Program Files\Java\jdk1.5.0_06\jre\lib\security>keytool -import -trustcacerts -alias tomcat -file d:\cas\server.crt -keystore cacerts
输入keystore密码: helloworld
Owner: CN=helloword.test.com, OU=helloword, O=helloword, L=bj, ST=bj, C=CN
发照者: CN=helloword.test.com, OU=helloword, O=helloword, L=bj, ST=bj, C=CN
序号: 465bb49d
有效期间: Tue May 29 13:05:33 CST 2007 至: Mon Aug 27 13:05:33 CST 2007
认证指纹:
MD5: 64:EB:B1:12:05:0E:8C:73:E1:B8:71:30:05:DD:54:65
SHA1: B6:3A:7C:25:2D:14:C7:E4:2E:04:FB:24:8F:EF:BD:2F:E0:52:BA:D3
信任这个认证? [否]: y
认证已添加至keystore中
创建客户端应用:
把下载的cas-client-java-2.1.1\dist\casclient.jar加入web应用的lib,修改web.xml
<web-app>
...
<filter>
<filter-name>CAS Filter</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://helloword.test.com:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://helloword.test.com:8443/cas/serviceValidate</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>客户端应用的域名和端口 (e.g., client.test.com:8080)</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
...
</web-app>
注意:配置中的红色的host一定要和生成keystore时填写的"您的名字与姓氏是什么?"一样。
按照上述步骤配置另外一台客户机http://another-client.test.com:8080
启动tomcat,访问http://client.test.com:8080将被重定向到https://helloword.test.com:8443/cas/login,登陆成功后将返回到http://client.test.com:8080。然后再访问http://another-client.test.com:8080将不需要登陆。
rails版客户端安装:
CASLogin plugin为rails应用提供cas认证功能。
D:\cas>rails railscas
D:\cas>cd railscas
D:\cas\railscas>ruby script/plugin install http://developer.csuchico.edu/svn/cas_login/trunk
配置插件:修改vendor\plugins\trunk\lib\cas_login.rb
把
# The URL of the CAS server to authenticate against.
CAS_SERVER_URL = 'cas.csuchico.edu'
# The port the CAS server is running on.
PORT = 443
改成
# The URL of the CAS server to authenticate against.
CAS_SERVER_URL = '
helloword.test.com'
# The port the CAS server is running on.
PORT = 8443
把
redirect_to "https://#{CAS_SERVER_URL}/cas/login?service=#{@service}"
改成
redirect_to "https://#{CAS_SERVER_URL}:8443/cas/login?service=#{@service}"
配置应用程序修改app\controllers\application_controller.rb如下:
class ApplicationController < ActionController::Base
include CasLogin
protected
def is_logged_in
return true unless session[:user].nil?
if is_authenticated?
if is_authorized?
return true
end
end
return false
end
private
def is_authorized?
session[:user] = User.find_by_uid(get_authenticated_user_id)
unless session[:user].nil?
return true
end
flash[:notice] = "User not found"
return false
end
end
修改需要认证的controller如下
class ServersController < ApplicationController
before_filter :is_logged_in
end
3、test
分享到:
相关推荐
**Cas入门及SpringSecurity集成CasDemo详解** CAS(Central Authentication Service)是一种开源的单点登录(Single Sign-On,SSO)框架,它为各种应用程序提供了一种集中式的身份验证服务。在本文中,我们将深入...
在这个"CAS入门测试"工程中,我们有两个压缩包子文件:`demob`和`demoa`。通常,这样的文件结构可能是为了演示或测试不同的CAS配置和功能。下面将详细讲解CAS的核心概念和关键组件,以及如何通过这两个子文件进行...
单点登录之CAS SSO从入门到精通
它集成了计算机代数系统(CAS),具备了传统图形计算器所没有的高级数学计算功能。这款计算器因其背光彩色显示屏、轻薄的外形设计、触摸板导航和动态绘图等功能,以及与 TI-Nspire 软件共享相同的功能而受到学生的...
CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架,本文介绍了 CAS 的原理、协议、在 Tomcat 中的配置和使用,对于采用 CAS 实现轻量级单点登录解决方案的入门读者具有一定指导作用。
5. **README文件**:通常会包含安装指南、快速入门教程以及常见问题解答,帮助用户快速理解如何集成和使用CAS客户端。 6. **测试资源**:可能包括单元测试或者示例代码,展示如何在实际环境中使用和测试客户端功能...
"入门.docx"可能是一个包含CAS SSO实现基础教程的文档,通常涵盖了以下内容: 1. CAS架构:解释CAS服务器、客户端和服务应用之间的关系。 2. 安装与配置:如何下载和部署CAS服务器,配置服务器端的设置。 3. 应用...
标题提到的"入门级单点登录源码",是指提供了一个初学者级别的 CAS 单点登录系统的源代码。这个系统可能包含了 CAS 服务器端和客户端的实现,帮助开发者理解 CAS 的工作原理以及如何在实际项目中部署和配置。 描述...
本文将围绕 CAS 3 的基本概念、安装步骤和配置方法展开讨论,旨在帮助初学者快速入门。 首先,了解 CAS 的核心概念。CAS 是一种基于票证(Ticket)的协议,它允许用户只需一次登录,就能访问多个相互信任的应用系统...
Fluent19.0从入门到精通素材文件,包括.msh文件,.cas文件和.dat文件。有的案例还附加有.SLDPRT三维模型文件,或者.x_t文件,或者.step等中间格式文件。供仿真爱好者们参考、学习。
CAS API示例 这是一个如何使用CAS API来构建可进行图像识别的Web应用程序的示例。 CAS或Cloud Analytic Services...入门 routes.py文件中有几个配置语句。 该应用程序配置为侦听APP_IP和APP_PORT 。 AUTHINFO是authin
OpenShift CAS 快速入门 Apereo CAS 在 Tomcat 7 (JBoss EWS) 墨盒上运行。 它是什么? (中央身份验证服务)是一种用于 Web 的开源单点登录解决方案。 访问 CAS 的文档。 Web 应用程序是使用 Maven WAR Overlay ...
本教程“FLUENT入门与进阶教程”旨在帮助初学者掌握FLUENT的基本操作,并进一步提升其在实际工程问题中的应用能力。 教程提供的素材文件主要包括了三类扩展名的文件:.msh(网格文件)、.dat(数据文件)和.cas...
标准版则针对入门级用户,包含基本的虚拟化管理和部分云服务功能: - **CVM组件**:同样用于虚拟化资源管理,但可能在功能上有所简化。 - **CIC组件**:提供基础的云服务,满足中小型企业或初期云环境的需求。 3...
这个资源包“Java并发编程从入门到精通源码.rar”显然是为了帮助开发者深入理解并掌握这一关键技能。它包含了从基础概念到高级技术的详细讲解,并提供了源码供学习者实践和探索。 在Java并发编程中,首先要了解的...
入门下载并安装适当的 JDK 1.7 ( )。 确保您下载的是 JDK 而不是 JRE。 下载 解压大师.zip 自定义 CAS 部署的大部分配置与 Maven 覆盖相同,但现在由 Gradle 控制,具有自定义、简化的界面。运行服务器在 Linux/Mac ...
《Exchange Server 2010 从入门到精通》是一本专为网络管理员设计的指南,旨在帮助读者全面理解和熟练掌握Microsoft Exchange Server 2010的管理和操作。该书内容丰富,涵盖从基础概念到高级配置的多个方面,适合...
标准版License通常包含基础的虚拟化管理功能,适合中小型企业或入门级用户。同样分为CVM和CIC组件,但可能在某些高级特性上有所限制。 - **标准版 License 细分** - **CVM组件**:提供基本的虚拟机管理,包括...