JA SIG CAS 最新教程

合集下载

CAS_SSO单点登录实例详细步骤

CAS_SSO单点登录实例详细步骤

CAS SSO单点登录实例详细步骤原创作者:孙俊财第一步1、用keytool生成证书:命令:keytool -genkey -alias sjc -keyalg RSA -keysto re c:/store/mykey说明:这里-alias sjc 是表示生成的这个证书的别名叫sjc,-keyalg RSA 指的是采用的RSA算法,-keystore c:/store/mykey是指生成的证书存储的位置。

回车后会提示你输入keystore password,这可以自己定(这里输入sunjuncai,下面配tomcat时要用的),然后是一些个人信息及组织信息,可以轻松搞定。

注意:密码输入后,会让你输入其他信息,记得这里第一个姓名必须是服务器的域名这里我输入的是完整计算机名称:gaofeng.nmc.hamcc这里要注意如果不这样写就会报如下异常:java.io.IOException: HTTPS hostname wrong: should be <localhost>实战:C:\Documents and Settings\wangyoushi8>keytool -genkey -alias sjc -keyalg RSA -keystorec:/store/mykey输入keystore密码:sunjuncai您的名字与姓氏是什么?[Unknown]:gaofeng.nmc.hamcc您的组织单位名称是什么?[Unknown]:上海神洲数港您的组织名称是什么?[Unknown]:网络优化您所在的城市或区域名称是什么?[Unknown]:郑州您所在的州或省份名称是什么?[Unknown]:河南该单位的两字母国家代码是什么[Unknown]:ZHCN= gaofeng.nmc.hamcc, OU=上海神洲数港, O=网络优化, L=郑州, ST=河南, C=ZH 正确吗?[否]:y输入<sjc>的主密码(如果和keystore 密码相同,按回车):2、创建证书后,就导出证书:命令:keytool -export -file c:/store/server.crt -alias sjc -keystore c:/store/mykey说明:从c:/store/mykey里取出证书入到c:/store/下,如果没有指定,就是存放在目录下C:\Documents and Settings\用户目录名\实战:C:\Documents and Settings\wangyoushi8>keytool -export -file c:/store/server.crt -alias sjc-keystore C:/store/mykey输入keystore密码:sunjuncai保存在文件中的认证<c:/store/server.crt>3、为客户端的JVM导入密钥:命令:keytool -import -keystore D:/jdk1.5.0_12/jre/lib/security/cacerts -file c:/store/server.crt -alias sjc说明:注意:输入密码时密码为"changeit",这是默认密码.特别说明:这个D:/jdk1.5.0_12/jre/lib/security/cacerts是指JDK的JRE路径下的lib目录.至此,第一步完成。

CAS 入门及精通

CAS 入门及精通

20
集成spring security
主要为we链
casAuthenticationFilter casValidationFilter
22
创新融通 蓬勃生机
中国领先的金融IT综合服务商 中国领先的金融IT综合服务商
股票代码 NYSE:LFT

9
配置 DataStore
打开文件 %CATALINA_HOME%/webapps/cas/WEBINF/deployerConfigContext.xml,添加一个新的 , bean 标签,对于 SQL SERVER,内容如清单 4 所 标签, , (跟spring配置一样 配置一样): 示(跟spring配置一样):
11
使用 QueryDatabaseAuthenticationHandler
12
添加 passwordEncoder
另外,由于存放在数据库中的密码通常是加密过的, 另外,由于存放在数据库中的密码通常是加密过的, 所以 AuthenticationHandler 在匹配时需要知道使 用的加密方法, 用的加密方法,在 deployerConfigContext.xml 文 件中我们可以为具体的 AuthenticationHandler 类 property,指定加密器类, 配置一个 property,指定加密器类,比如对于 QueryDatabaseAuthenticationHandler: :
5
部署 CAS Server
CAS Server 是一个 Web 应用包,将前面下载的 应用包, cas-server-3.1.1-release.zip 解开,把其中的 cas解开, server-webapp-3.1.1.war 拷贝到 tomcat的 的 webapps 目录,并更名为 cas.war。由于前面已配 目录, 。 协议, tomcat, 置好 tomcat 的 https 协议,可以重新启动 tomcat, 然后访问: 然后访问:https://localhost:8443/cas ,如果能出 登录页面, 现正常的 CAS 登录页面,则说明 CAS Server 已经 部署成功。 部署成功。

CAS示例环境部署及配置(完整版)

CAS示例环境部署及配置(完整版)

CAS示例环境部署及配置一、示例说明在本示例中将使用cas-server-3.5.0和cas-client-3.2.1搭建一个SSO测试环境,在同一台机器上安装3个tomcat,分别部署一个cas server和两个cas client,这三个应用使用不同的域名访问(通过配置hosts文件实现多个域名)。

配置完成之后,应达到如下效果:1、首先访问app1,此时需要跳转到cas登录页面,要求用户进行登录;2、输入正确的用户名和密码,登录成功之后自动跳转到app1,而且可以获取到用户的登录信息;3、在同一个浏览器中直接访问app2,此时不需要再次用户登录即可正常访问,而且可以获取到登录用户的信息;4、反复访问app1和app2,只要不关闭浏览器,就可以一直正常访问并且可以获取到用户信息;5、在浏览器地址栏输入CAS登出的路径(https://:8443/cas/logout),系统提示成功注销;6、此时无论访问app1还是app2,都会跳转到cas登录页面,要求用户重新登录。

二、部署文件清单三、准备部署环境本文演示过程在同一个机器上的(也可以在三台实体机器或者三个的虚拟机上),根据演示需求,我们需要准备三个不同的域名,分别对应cas server和两个cas客户端应用,用修改hosts 文件的方法添加域名最简单方便(这个非常重要),在文件c:\windows\system32\drivers\etc\hosts 文件中添加三条127.0.0.1 127.0.0.1 127.0.0.1 其中:对应部署cas server的tomcat,如果这个tomcat使用https 协议,则这个虚拟域名还用于证书生成;另外两个域名对应两个不同的客户端应用。

安装JDK,配置JAVA_HOME、PATH环境变量;在D盘根目录复制三个TOMCAT 文件夹,分别命名为tomcat-for-cas、tomcat-for-client-1、tomcat-for-client-2;这个详细过程就不再详细描述。

CAS单点登录

CAS单点登录

06
Cas单点登录解析
图解1: 4
CAS Server(认 证中心)
系统A
5 1
2
3
1、用户浏览器访问系统A需登录受限资源,此时进行 登录检查,发现未登录,然后进行获取票据操作,发 现没有票据。 2、系统A发现该请求需要登录,将请求重定向到认证 中心,获取全局据TGT操作,没有,进行登录。 3、认证中心呈现登录页面,用户登录,登录成功后, 认证中心重定向请求到系统A,并附上认证通过ticket 令牌(即ST),同时会在Cookie中设置一个GASTGC(C AS Server的Cookie),此时认证中心同时生成了全 局票据。 4、此时再次进行登录检查,发现未登录,然后再次获 取票据操作,此时可以获得票据(令牌),系统A与认证 中心通信,将Cookie中的TGC携带到CAS Server,C AS Server根据这个TGC查找与之对应的TGT,验证令 牌有效,证明用户已登录。 5、系统A将受限资源返给用户。
1、开源的企业级单点登录解决方案,源码拿出来 就能二次开发,DIY比较容易。 2、CAS Server 为需要独立部署的 Web 应用,打 包放到web中间件(比如Tomcat)里面就可以立即开 始工作,方便快捷,配置简单,傻瓜式使用方式, 也可以对一些功能进行扩展,比如用户认证方式。 3、CAS Client 支持非常多的客户端(这里指单点登 录系统中的各个 Web 应用),包括 Java, .Net, PHP, Perl, Ruby 等。
Cas单点登录实例
THANK YOU
2018
存放用户身份认证凭证票据(存放令牌)的 cookie,浏览器关闭即失效(携带到浏览器)
Cas单点登录解析
原理:
01 02 03 04 05

CAS客户端服务器端配置步骤

CAS客户端服务器端配置步骤

CAS客户端服务器端配置步骤cas介绍:CAS 是Yale 大学发起的一个开源项目,旨在为Web 应用系统提供一种可靠的单点登录方法,CAS 在2004 年12 月正式成为JA-SIG 的一个项目。

CAS 具有以下特点:∙开源的企业级单点登录解决方案。

∙CAS Server 为需要独立部署的Web 应用。

∙支持非常多的客户端(这里指单点登录系统中的各个Web 应用),包括Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。

CAS 原理和协议从结构上看,CAS 包含两个部分:CAS Server 和CAS Client。

CAS Server 需要独立部署,主要负责对用户的认证工作;CAS Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到CAS Server。

图1 是CAS 最基本的协议过程:图 1. CAS 基础协议CAS Client 与受保护的客户端应用部署在一起,以Filter 方式保护受保护的资源。

对于访问受保护资源的每个Web 请求,CAS Client 会分析该请求的Http 请求中是否包含Service Ticket,如果没有,则说明当前用户尚未登录,于是将请求重定向到指定好的CAS Server 登录地址,并传递Service (也就是要访问的目的资源地址),以便登录成功过后转回该地址。

用户在第3 步中输入认证信息,如果登录成功,CAS Server 随机产生一个相当长度、唯一、不可伪造的Service Ticket,并缓存以待将来验证,之后系统自动重定向到Service 所在地址,并为客户端浏览器设置一个Ticket Granted Cookie(TGC),CAS Client 在拿到Service 和新产生的Ticket 过后,在第5,6 步中与CAS Server 进行身份合适,以确保Service Ticket 的合法性。

统一身份认证CAS简单说明与设计方案

统一身份认证CAS简单说明与设计方案

统一身份认证(CAS)简洁说明和设计方案(转)1. 单点登录概述所谓单点登录(SSO),只当企业用户同时访问多个不同(类型的)应用时,他们只须要供应自身的用户凭证信息(比如用户名/密码)一次,仅仅一次。

SSO解决方案(比如,CAS)负责统一认证用户,假如须要,SSO也可以完成用户的授权处理。

可以看出,当企业用户在不同的应用间切换时,他们不用再重复地输入自身的用户凭证了。

在实施SSO后,所用的认证操作都将交给SSO认证中心。

现有的SSO解决方案特殊多,比如微软的MSN Passport便是典型的SSO解决方案,各Java EE容器都供应了自身的专有SSO实力。

2. CAS的总体架构1. CAS简介CAS(中心认证服务)是建立在特殊开放的协议之上的企业级SSO解决方案。

诞生于2001年,在2002年发布了CAS2.0协议,这一新的协议供应了Proxy(代理)实力,此时的CAS2.0支持多层SSO实力。

到2005年,CAS成为了JA-SIG旗下的重要子项目。

由于CAS2.0版本的可扩展实力不是特殊完备,而且他的架构设计也不是很卓越,为了使得CAS能够适用于更多场合,JA-SIG打算开发出同时遵循CAS1.0和CAS2.0协议的CAS3.X版本。

现在的CAS3全面拥抱Spring技术,比如Spring DI容器和AOP技术、Spring Web MVC、Spring Web Flow、Spring Ldap Template等。

通常,CAS3由两部分内容构成:CAS3服务器和CAS客户端。

由于CAS2.0协议借助于XML数据结构和客户进行交互,因此开发者可以运用各种语言编写的CAS3客户和服务器进行通信。

CAS3服务器接受纯Java开发而成,它要求目标运行环境实现了Servlet2.4+规范、供应Java SE 1.4+支持。

假如宿主CAS3服务器的目标Java EE容器仅仅实现了Servlet2.3-规范,则在对CAS3服务器进行少量的改造后,CAS3也能运行其中。

CAS入门使用手册

CAS入门使用手册

CAS入门使用手册1.准备工作本文中的例子以 tomcat5.5 为例进行讲解,下载地址:/download-55.cgi到 CAS 官方网站下载 CAS Server 和 Client,地址分别为:/downloads/cas/cas-server-3.1.1-release.zip/downloads/cas-clients/cas-client-java-2.1.1.zip2.首先制作证书1).创建证书库:C:\cas>keytool -genkey -keyalg RSA -alias tomcatsso -keystore server.keystore -storepass changeit ;如下图:生成文件:2)导出证书文件:C:\cas>keytool -export -alias tomcatsso -file server.crt -keystore server.keystore -storepass changeit ;如下图:生成文件:3)导入证书将生成的证书导入到JDK和JRE中,进入%JAVA_HOME%\jre1.6.0_05\lib\security目录,将生成的server.crt拷贝到这里(此操作之前最好先备份JDK和JRE以前的cacert文件),执行命令:C:\cas>keytool -import -alias tomcatsso -file server.crt -keystore cacerts -storepass changeit ;如下图:至此证书成功加入到文件中。

将这个文件复制替换%JAVA_HOME%\jdk1.6.0_05\jre\lib\security下的那个文件。

4)修改Tomcat的server.xml配置,找到<!--<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"maxThreads="150" scheme="https" secure="true"clientAuth="false" sslProtocol="TLS" />-->去掉注释并改为:<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"maxThreads="150" scheme="https" secure="true"clientAuth="false" sslProtocol="TLS"keystoreFile="C:/cas/server.keystore"keystorePass="changeit"truststoreFile="C:/Program Files/Java/jre1.6.0_05/lib/security/cacerts"truststorePass="changeit"/>访问https://localhost:8443/能访问到就配置成功了3.服务器部署以及数据源配置1)部署方法将下载好的服务器压缩包解压之后得到源代码,包,以及部署的war文件,war文件位于modules文件夹之中,将其拷贝到Tomcat的webapp文件夹下,2)引入包加入相关的数据库驱动包mysql-connector-java-5.1.5-bin.jarspring-jdbc-2.5.5.jarcas-server-support-jdbc-3.3.1.jar3)配置数据源在cas服务器的WEB-INF\deployerConfigContext.xml配置文件中配置数据源(这里使用的是mysql):<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close"><property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property> <property name="url"><value>jdbc:mysql://192.168.0.158:3306/cqbcp</value></property> <property name="username"><value>root</value></property><property name="password"><value>root123</value></property></bean>4)通过数据库验证登陆Cas默认的验证方式是只要用户名和密码相同就能登陆成功,要想去掉这种验证方式,改为在通过数据库验证首先找到:删除这行则去掉了简单的验证方式,然后加入:<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"><property name="sql" value="select LoginPwd from c_cons where LoginNo=?"/><property name="dataSource" ref="dataSource"/></bean>则可以通过配置的数据源验证用户名和密码是否相同。

cas部署

cas部署

CAS做单点登陆(SSO)——部署CAS安装CAS让我们先简单了解下CAS。

全称 Central Authentication Service,中文翻译为中央认证服务,官方网址是/cas。

它是一个开源产品。

具有如下特点:1.用它做各个系统的集成后,各个系统只需关注跟CAS做集成即可,不会引入系统间的任何依赖。

2.各个系统集成后,登陆的认证中心在CAS,各个系统只能从CAS获得用户输入的用户名,然后自动完成登陆。

另外,CAS认证支持对数据库表的查询和比较。

3.CAS默认使用HTTPS协议,需要安装CA(Certificate Authority,中文名叫数字证书认证机构)证书。

如果不想启用HTTPS,请参考CAS不起用HTTPS。

下面介绍中默认为采用HTTPS协议。

安装步骤:定义域名HTTPS信任域名,而不信任IP。

因此需要先设定一个域名,如果不采用HTTPS,可以跳过这个一步。

假定域名设置为。

在C:\Windows\System32\drivers\etc\hosts添加内容如下:127.0.0.1 生成CA证书证书是单点登录认证系统中很重要的一把钥匙,客户端于服务器的交互安全靠的就是证书。

我们这边用JDK自带的keytool工具生成证书, 如果以后真正在产品环境中使用肯定要去证书提供商去购买。

购买正版证书,请查看购买证书。

用JDK自带的keytool工具生成密钥库,在命令行输入:keytool -genkey -alias aurora -keyalg RSA -keystoreE:/tomcats/tomcat7/keystore/aurora没有Keytool这个命令?请参考设置JAVA环境变量。

以上这个命令就是在E:/tomcats/tomcat7/keystore/aurora上建立一个别名叫aurora,算法是RSA的证书库。

这里E:/tomcats/tomcat7/keystore/这个目录需要预先存在。

基于.net的CAS登录集成

基于.net的CAS登录集成

基于.net的CAS登录集成说明:此方案需要部署CAS登录服务器支持。

使用CAS的SSO功能,可以实现单点登录的基本功能。

基本原理是:从重定向到cas搭建的sso 服务器,通过认证后cas服务器会返回一个带ticket参数的链接给,.net程序然后使用ticket参数再次访问cas服务器,可以获得用户登录的ID(只能访问一次)。

/downloads/cas-clients上有各种平台上的CAS客户端。

一般,从/downloads/cas-clients/dotnet/下载cas .net客户端,是一个dll文件,可以在项目中引用,然后通过下边的代码就可以使用:在web.config文件中增加关于cas服务器和本地服务的地址信息:<configuration><appSettings><add key="casLoginURL"value="https:///cas/login" /><add key="casValidateURL"value="https:///cas/serviceValidate" /><add key="serviceURL"value="/CASTestServiceValidation/De fault.aspx" /></appSettings></configuration>然后在一个页面中,使用下边的代码调用就可以了:using DotNetCASClient;protected void Page_Load(object sender, EventArgs e) {String userId = (String) Session["userId"];if (userId == null) {DotNetCASClientServiceValidate client = new DotNetCASClientServiceValidate();userId = client.Authenticate(Request, Response, true);lblCas.Text = "Had to authenticate via CAS...";}Session["userId"] = userId;lblResult.Text = userId;}也可以在web.config中加入:<system.web><authorization><deny users="?" /></authorization><authentication mode="Forms" ><forms loginUrl="LoginPage.aspx" /></authentication></system.web>这样强制用户认证。

cas 认证流程

cas 认证流程

cas 认证流程CAS认证流程是一种常用的用户认证方式,是基于单点登录(SSO)的一种安全认证协议。

下面就来详细了解一下CAS认证流程的步骤。

1.用户访问被保护的应用服务用户首先访问需要认证的应⽤服务,例如企业门户或者是OA系统等,这时会重定向到CAS服务器。

2.CAS服务发出请求当⽤户访问应用服务的时候,应用程序将负责控制的过程转化为对CAS server的认证请求。

这个请求包括了许多重要的参数,例如:服务请求地址。

3.CAS服务器发起回调请求在用户登录之前,由CAS服务器发起的应用程序回调请求,让程序知道用户是否已经被认证和请求的ticket是否合法。

如果这个ticket没有问题,CAS服务器就会将用户凭据返回给应用程序的指定地址。

4.用户进行证书认证在这一步中,CAS向用户询问用户名和密码。

这种方式被称为“cas用户名密码验证”,用户在此处进行了证书认证。

5.CAS服务器发出TICKET如果用户名和密码认证成功,CAS服务器将会通过HTTP重定向的方式,将一个TICKET交给初始引导用户请求的应用程序。

6.访问应用程序之后,应用程序将会请求CAS服务器进行验证,CAS server采用密钥对加密,对TICKET进行验证,如果没有问题,CAS server就会给予通过访问应用程序的权限。

7.应用程序将用户重定向到初始页面到这里,用户已经被认证并获得了权限,这使得应用程序能够在保证认证安全性的情况下向用户提供服务。

以上就是整个CAS认证流程的步骤。

通过实现CAS单点登录认证,企业可以大大提高员工使用系统的效率,并且保障了系统的安全。

cas 流程

cas 流程

CAS(Central Authentication Service)流程CAS(Central Authentication Service)是一种用于实现单点登录(Single Sign-On,SSO)的协议。

它允许用户只需要登录一次就可以访问多个应用程序,而不需要为每个应用程序单独进行身份验证。

CAS流程包括以下步骤:步骤一:用户访问应用程序1.用户打开浏览器,并输入要访问的应用程序的URL。

2.应用程序检测到用户未登录,跳转至CAS服务器的登录页面。

步骤二:用户登录CAS服务器3.用户在CAS服务器的登录页面输入用户名和密码。

4.CAS服务器验证用户名和密码的正确性。

5.如果验证成功,CAS服务器生成一个全局唯一的票据(Ticket),并将其与用户信息存储在服务器端。

6.CAS服务器将票据返回给用户浏览器。

步骤三:应用程序获取票据并验证7.用户浏览器将票据作为参数附加在重定向URL中,并发送给应用程序。

8.应用程序接收到重定向URL,并提取出票据参数。

9.应用程序通过HTTP请求将票据发送给CAS服务器进行验证。

步骤四:CAS服务器验证票据10.CAS服务器接收到应用程序发送的票据,并解析出票据中包含的用户信息。

11.CAS服务器根据票据中的用户信息进行验证,并确认票据是有效的。

12.如果验证成功,CAS服务器返回一个包含用户信息的成功响应给应用程序。

步骤五:用户访问应用程序13.应用程序接收到CAS服务器发送的成功响应,确认用户身份验证通过。

14.应用程序将用户信息与本地账户进行关联,创建或更新本地会话。

15.用户可以访问应用程序的受限资源和功能。

步骤六:登出流程16.用户在任意一个应用程序中发起登出请求。

17.应用程序清除本地会话,并向CAS服务器发送登出请求。

步骤七:CAS服务器登出18.CAS服务器接收到登出请求,销毁与用户相关的票据和会话信息。

19.CAS服务器向所有已登录的应用程序发送登出通知。

CAS单点登录-技术研究解读

CAS单点登录-技术研究解读

SSO单点登录技术研究报告-- 基于CAS框架的分析与技术研究目录1引言 (4)1.1 摘要 (4)1.2 范围 (4)1.3 读者对象 (4)1.4 关键词 (4)2技术背景 (4)3CAS单点登录简介(针对实践选择的技术) (6)3.1 技术快速使用说明 (6)3.1.1 设置服务器域名 (10)3.1.2 生成证书(这里采用JDK自带的工具keytool) (11)3.1.3 为客户端JVM导入证书 (12)3.1.4 将证书应用到Web服务器Tomcat (12)3.1.5 部署CAS服务器 (13)3.1.6 深入配制CAS服务器 (13)3.1.7 配制CAS客户端 (14)3.1.8 用到的jar包 (18)3.1.9 CAS深入研究 (18)4开发环境的配置 (24)5运行环境的配置 (24)6结束语 (24)7参考文献 (25)1引言1.1摘要单点登录(Single sign on),简称SSO,是目前比较流行的企业业务整合的解决方案之一。

SSO 的定义是在多个系统中,用户只需要登录一次就可以在各各相互信任的系统中进行切换。

本文主要介绍它的简单部署以及源码分析,逻辑分析。

官网:/cas1.2范围单点登录的配置、登录方式、项目之间建立的信任关系。

单点登录的客户端服务端处理逻辑,源码分析。

1.3读者对象技术组人员1.4关键词CAS、SSO、单点登录2技术背景技术原理当用户第一次访问系统时,因为还没有登录,所以会被引入到认证系统中进行登录,根据用户提供的身份信息,系统进行校验,如果通过效验则返回给用户一个Ticket认证凭据,用户再次访问别的系统时就会将此Ticket带上做为自己的认证凭据送到认证系统中进行效验,检查Ticket的合法性,如通过效验则不必登录直接进入第二个系统。

目前主要流行的产品列表AccessMatrix USO (by i-Sprint Innovations)Athens access and identity managementCentral Authentication Service (CAS)COMACoSignDistributed Access Control System (DACS)Enterprise Sign On EngineEvidian Enterprise SSOFacebook connectFreeIPAGlobal Login SystemImprivata OneSign (Enterprise single sign-on and strong authentication)JBoss SSOJOSSO (Open Source Single Sign-On Server)KerberosmyOneLogin (Secure single sign-on for the cloud)OneLogin (single sign-on and user provisioning for the cloud)OpenAM (previously OpenSSO)OpenASelectPasslogixSAMLSecure Network CommunicationsShibbolethSmart cardTiger OneConnectUbuntu Single Sign On (OpenID-based single sign on service)Windows Live ID⏹在项目中做出的技术选择以及原因选择的技术:CAS原因:项目开源、企业中用此技术的比较多、较稳定、网络参考资料较多。

单点登录(SSO)解决方案之CAS入门案例

单点登录(SSO)解决方案之CAS入门案例

单点登录(SSO)解决⽅案之CAS⼊门案例单点登录: 单点登录(Single Sign On),简称为 SSO,是⽬前⽐较流⾏的企业业务整合的解决⽅案之⼀。

SSO的定义是在多个应⽤系统中,⽤户只需要登录⼀次就可以访问所有相互信任的应⽤系统。

CAS: CAS 是 Yale ⼤学发起的⼀个开源项⽬,旨在为 Web 应⽤系统提供⼀种可靠的单点登录⽅法,CAS 在 2004 年 12 ⽉正式成为 JA-SIG 的⼀个项⽬。

CAS 具有以下特点: 1,开源的企业级单点登录解决⽅案。

2,CAS Server 为需要独⽴部署的 Web 应⽤。

3,CAS Client ⽀持⾮常多的客户端(这⾥指单点登录系统中的各个 Web 应⽤),包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。

SSO单点登录访问流程主要步骤:1. 访问服务:SSO客户端发送请求访问应⽤系统提供的服务资源。

2. 定向认证:SSO客户端会重定向⽤户请求到SSO服务器。

3. ⽤户认证:⽤户⾝份认证。

4. 发放票据:SSO服务器会产⽣⼀个随机的Service Ticket。

5. 验证票据:SSO服务器验证票据Service Ticket的合法性,验证通过后,允许客户端访问服务。

6. 传输⽤户信息:SSO服务器验证票据通过后,传输⽤户认证结果信息给客户端。

CAS服务端(CAS Server)部署:准备⼯作: cas服务端其实就是⼀个war包。

⾸先需要从下载cas-server,我这⾥下载并使⽤的是 cas-server-4.0.0-release.zip。

解压后,在modules⽬录下的cas-server_webapp-4.0.0.war,将其改名为cas.war放⼊tomcat⽬录下的webapps下。

所以上述为需要准备的东西,cas-server的war包以及tomcat,下⾯⽤的tomcat为apache-tomcat-7.0.77启动tomcat⾃动解压war包。

基于JA-SIG CAS统一认证平台(SSO)的设计与实现

基于JA-SIG CAS统一认证平台(SSO)的设计与实现

第 33 卷第3期2013 年 6 月广东海洋大学学报 Journal of Guangdong Ocean UniversityVol.33 No.3 Jun. 2013基于 JA-SIG CAS 统一认证平台(SSO)的设计与实现李建佳,王 晶( 广东海洋大学信息学院,广东 湛江 524088 )摘要:基于 JA-SIG CAS 框架,设计、实现了一个单点登录统一认证平台,为大型网站提供安全统一的用户身份认证服务。

统一认证平台分为 SSO CAS 服务器端和 CAS 客户端,服务器端采用 SSL 加密协议的 https 方式部署, 客户端采用 http 方式部署。

平台运用 Spring Securit、 Spring Remote、 Hibernate3、 Struts 2.2 等技术, 以及 PGTIOU(代 理授权许可证索引)、PGT(代理授权许可证)、PT(代理许可证)、ST(服务许可证)、TGC(Ticket 凭证存放 cookie)等关 键数据结构,实现统一身份认证的服务票据生成、授权、检查、保存、发送等,提供单点登录服务。

关键词:JA-SIG CAS;SSO;统一认证;单点登录 中图分类号:TP 393 文献标志码:A 文章编号:1673-9159( 2013)03-0078-06Design and Implementation of the Unified Authentication Platform (SSO) Based on JA-SIG CASLI Jian-Jia, WANG Jing (College of Information, Guangdong Ocean University, Zhanjiang 524088, China ) Abstract: Based on the JA-SIG CAS framework, a single sign-on unified authentication platform is designed and realized, it provides secure and unified user’s identity authentication service for big web site. The unified authentication platform consists of SSO CAS server and CAS client. The server is deployed by using HTTPS format of SSL ENCRYPTION PROTOCOL and the client is deployed by using HTTP format. The platform adapts Spring Securit, Spring Remote, Hibernate3 and Struts 2.2, etc., as well as the critical data structures of PGTIOU (proxy-granting ticket IOU), PGT (proxy-granting ticket), PT (proxy ticket), ST (service ticket), TGC (ticket-granting cookie) to the platform in order to realize the service bill generation, authorization, check, save and send on the unified identity authentication server to provide an single sign-on service. Key words: JA-SIG CAS; SSO; unified authentication; single sign-on 对一个大型网络,它们的子系统都是单独存在 的,比如,新浪门户网站和新浪博客服务、163 门 户网站和 163 邮箱服务等,各子系统对应不同的域 名。

jpackage用法 -回复

jpackage用法 -回复

jpackage用法-回复JPackage是Java SE 14中新增的一个工具,它提供了一种简化构建、打包和分发Java应用程序的方法。

它的目标是简化Java应用程序的构建过程,并提供一种标准化的方式来创建可执行程序、操作系统包和容器镜像。

在本文中,我们将详细介绍JPackage的用法,以帮助开发人员了解如何使用这个强大的工具来构建和打包他们的Java应用程序。

首先,我们需要确保我们的系统上已经安装了Java SE 14或更高版本。

我们可以通过在终端或命令提示符下运行`java version`来检查我们的Java 版本。

如果我们的版本低于14,我们需要先安装最新的Java版本。

接下来,我们需要下载并安装JPackage。

我们可以从官方Oracle网站上下载预构建的二进制文件,或者在适用的操作系统上使用软件包管理工具。

一旦安装完成,我们可以运行`jpackage version`来验证安装是否成功。

下一步是创建我们的Java应用程序。

我们可以使用任何Java IDE(集成开发环境)或文本编辑器来编写我们的代码。

确保我们的代码符合Java SE 14的规范,并且没有任何错误。

在创建Java应用程序之后,我们需要配置一些必要的文件和目录来打包我们的应用程序。

这些文件包括应用程序的入口点(Main类),依赖的JAR文件,资源文件和配置文件等。

我们可以将这些文件组织在一个或多个目录中,以便稍后使用。

一旦我们准备好了我们的应用程序,我们可以使用JPackage构建并打包它。

我们可以运行以下命令来构建我们的应用程序:jpackage name MyApplication module-path <module-path> module <module-name>/<class-name> dest <output-directory>这个命令用于指定应用程序的名称(name)、模块路径(module-path)、模块名称和入口点类的名称(module/class)以及输出目录(dest)。

手把手教你利用CAS实现单点登录

手把手教你利用CAS实现单点登录

手把手教你利用CAS实现单点登录单点登录(Single Sign-On,简称SSO)是一种让用户只需要进行一次身份验证,就可以访问多个不同系统的认证机制。

SSO的实现通常需要借助于中央身份认证服务器(Central Authentication Service,简称CAS)。

CAS是一种基于票据的身份认证和访问控制系统,它可以为不同的应用系统提供统一的用户身份认证服务。

下面将手把手教你如何利用CAS实现单点登录。

1.安装配置CAS服务器首先,我们需要安装配置CAS服务器。

CAS服务器是使用Java开发的一个Web应用程序,可以运行在Tomcat等Java容器中。

具体安装步骤如下:1.3 打开`etc/cas.properties`文件,配置CAS服务器的相关参数,比如数据库连接信息、密钥等。

1.4 执行`./build.sh package`来构建CAS服务器应用程序。

1.5 将构建生成的`cas.war`文件部署到Tomcat或其他Java容器中,并启动该容器。

2.配置应用系统配置应用系统以支持CAS单点登录。

假设我们有一个应用系统A和一个应用系统B,我们希望用户在登录应用系统A后可以无需再次登录即可访问应用系统B。

2.1修改应用系统A的登录页面将应用系统A的登录页面修改为CAS服务器的登录页。

CAS服务器默认使用`/login`路径作为登录页面的URL。

使用CAS的登录页面可以保证用户在身份验证后可以正确跳转回应用系统A。

2.2配置应用系统A的CAS客户端将应用系统A配置成CAS的客户端,以便能够与CAS服务器进行通信。

配置方法通常是将CAS客户端的相关依赖库加入应用系统A的`pom.xml`文件,并在应用系统A的配置文件中配置CAS服务器的地址和其他参数。

2.3修改应用系统B的登录页面将应用系统B的登录页面修改为CAS服务器的登录页,同样使用CAS的登录页面。

2.4配置应用系统B的CAS客户端将应用系统B配置成CAS的客户端,配置方法与应用系统A类似。

保留原系统账号登录的CAS单点登录改进方法

保留原系统账号登录的CAS单点登录改进方法

保留原系统账号登录的CAS单点登录改进方法作者:董恒竞宫大伟雷远东来源:《电脑知识与技术》2018年第12期摘要:随着企业信息化的不断发展和应用系统规模的不断扩大,企业逐渐出现了对多应用系统实现单点登录(SSO)功能的需求。

CAS是一款开源的单点登录产品,基于CAS对企业应用系统进行单点登录改造,可以达到单点登录的目的。

但由于各种历史原因,企业应用系统都有着不同的账号体系,账号又与业务流程、数据存储紧密联系。

所以在单点登录改造过程中,许多应用系统都希望保留原来的账号体系。

基于此问题,该文提出了一种对CAS产品进行改进的方法,在不改变原系统账号体系的条件下,使得用户可以使用多种应用系统的账号进行登录,降低了企业应用系统单点登录改造的复杂度,使得单点登录在企业内更易于实现。

关键词:企业信息化;单点登录;中心认证服务;轻量目录访问协议;企业门户中图分类号: TP311 文献标识码: A 文章编号:1009-3044(2018)12-0235-04Abstract: With the enterprise informatization, there are more and more applications in enterprises. Many enterprises have the requirement to realize the single sign-on functions. CAS is an open-source product to fix this requirement. However, due to various historical reasons, enterprise applications have different account systems. And the accounts have a close contact with the business processes, data storage, and so on. So many applications hope to retain the original account systems. Based on this problem, this paper proposes a method to make CAS to accept the original system accounts, the applications use old system accounts easily, to make the applications to have lest changes. The practice proved that this strategy makes single sign-on easier for the enterprise to realize.OKey words: Informatization; Single Sign-On (SSO); Central Authentication Service (CAS); Lightweight Directory Access Protocol (LDAP); Enterprise Portal1 背景随着企业信息化的不断推进,企业应用系统的数量越来越多,这些应用系统一般是在不同时期,采用不同的技术、架构开发的,都有着独立的用户信息库和认证体系。

cas jasig 原理

cas jasig 原理

CAS (Central Authentication Service) 是一个单点登录协议和应用,最初由Jasig开发并管理。

现在,CAS 是Apereo 基金会(Apereo Foundation)的一部分。

CAS 旨在为应用程序提供身份验证和单点登录功能。

CAS 的工作原理如下:
1. 用户访问应用程序:用户通过web 浏览器访问需要进行身份验证的应用程序。

2. 应用程序重定向到CAS 服务器:应用程序发现用户未经身份验证,将用户重定向到CAS 服务器。

3. 用户认证:用户在CAS 服务器上输入其凭证(例如用户名和密码)进行身份验证。

4. CAS 发放票据:如果用户提供的凭证有效,CAS 服务器会发放一个票据给用户。

5. 应用程序验证票据:用户将票据带回到原始应用程序。

6. 应用程序验证票据:应用程序将票据发送到CAS 服务器以验证其有效性。

7. CAS 发放服务票据:如果票据有效,CAS 服务器会发放一个服务票据给应用程序。

8. 应用程序访问授权:应用程序使用服务票据授权用户访问其受保护的资源或功能。

这种方式允许用户只需一次输入凭证即可在多个应用程序间无缝登录,无需每次访问不同应用程序都重新进行身份认证。

CAS 的优势之一是它可以与各种身份认证技术(如用户名和密码、LDAP、Active Directory 等)进行集成,并提供了安全的认证机制。

Jasig 是最早开发CAS 的组织,CAS 项目后来并入了Apereo 基金会,并改名为Apereo CAS。

Apereo 是一个开源软件组织,致力于支持和促进教育机构的开源软件、合作和创新。

cas单点登录配置速成

cas单点登录配置速成

cas单点登录配置速成服务端配置cas是个好东西,很灵活很好用,但是配置起来很麻烦,网上资料比较零碎。

不弄个三五天根本不知道其中的原理,终于在多天的奋斗中配置成功,现在将配置的一些过程记录下来供大家参考。

cas官方网站/cas下载最新的服务端CAS Server 3.3.3 Final解压后将modules下面的cas-server-webapp-3.3.3.war部署到web服务器,作为单点登录的服务器。

登录的服务器下面很多配置文件,通过配置可以做一些扩展。

修改点1:验证方式使用我们自己的用户表验证cas和当前已有的系统做集成的入口1.修改deployerConfigContext.xml文件添加数据源配置XML/HTML代码1.<bean id="casDataSource" class="mons.dbcp.BasicDataSource">2. <property name="driverClassName">3. <value>com.m ysql.jdbc.Driver</value>4. </property>5. <property name="url">6. <value>jdbc:m ysql://192.168.1.100/ires?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true</value>7. </property>8. <property name="username">9. <value>ires</value>10. </property>11. <property name="password">12. <value>i709394</value>13. </property>14.</bean>定义MD5的加密方式XML/HTML代码1.<bean id="passwordEncoder"2. class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder" autowire="byName">3. <constructor-arg value="MD5"/>4.</bean>配置authenticationManager下面的authenticationHandlers属性XML/HTML代码1.<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">2. <property nam e="dataSource" ref="casDataSource" />3. <property nam e="sql" value="select community_password from community_user_info where lower(community_user_munity_user) = lower(?)" />4. <property nam e="passwordEncoder" ref="passwordEncoder"/>5.</bean>修改点2:获取用户信息保存,方便各个客户端可以统一得到用户信息1.定义attributeRepository,通过jdbc查询用户的详细信息,可以把用户表或用户的所属组织机构或角色等查询出来。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、下载服务器端和客户端网址: /cas/download二、安装服务器端1.解压cas-server-3.5.1-release.zip将cas-server-3.5.1\modules\cas-server-webapp-3.5.1.war拷贝到webapps下,并重命名为cas.war2.使用Java Keytool工具为系统生成HTTPS证书,并为系统注册下载Keytool.ext编写bat文件,注意1、仔细看注释,了解每一个以及需要注意的地方。

2、jdk的安装路径不能有中文且不能包含空格。

内容如下clsrem please set the env JAVA_HOME before run this bat filerem delete alia tomcat if it is existedkeytool -delete -alias tomcatsso -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeitkeytool -delete -alias tomcatsso -storepass changeit::(注释:清除系统中可能存在的名字为tomcatsso 的同名证书)rem list all alias in the cacertskeytool -list -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit::(注释:列出系统证书仓库中存在证书名称列表)rem generator a keykeytool -genkey -keyalg RSA -alias tomcatsso -dname "cn=localhost" -storepass changeit::(注释:指定使用RSA算法,生成别名为tomcatsso的证书,存贮口令为changeit,证书的DN为"cn=localhost" ,这个DN必须同当前主机完整名称一致哦,切记!!!)rem export the keykeytool -export -alias tomcatsso -file %java_home%/jre/lib/security/tomcatsso.crt -storepass changeit::(注释:从keystore中导出别名为tomcatsso的证书,生成文件tomcatsso.crt)rem import into trust cacertskeytool -import -alias tomcatsso -file %java_home%/jre/lib/security/tomcatsso.crt -keystore %java_home%/jre/lib/security/cacerts -storepass changeit::(注释:将tomcatsso.crt导入jre的可信任证书仓库。

注意,安装JDK是有两个jre目录,一个在jdk底下,一个是独立的jre,这里的目录必须同Tomcat使用的jre目录一致,否则后面Tomcat的HTTPS通讯就找不到证书了)rem list all alias in the cacertskeytool -list -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit ::(注释:列出jre可信任证书仓库中证书名单,验证先前的导入是否成功,如果导入成功,应该在列表中能找到tomcatsso这个别名,如下图)执行bat第一次询问:回车确认第二次询问输入y 回车执行完成后,进行确认,包含三个要素:第一个有tomcatsso关键字第二个D:\java\jdk1.6.0_18_win_x86\jre\lib\security下有tomcatsso.crt第三个C:\Users\Administrator下有.keystore3.配置Tomcat的HTTPS服务apache-tomcat-6.0.14\conf下的server.xml<Connector protocol="org.apache.coyote.http11.Http11Protocol"port="8443" minSpareThreads="5" maxSpareThreads="75"enableLookups="true" disableUploadTimeout="true"acceptCount="100" maxThreads="200"scheme="https" secure="true" SSLEnabled="true"keystoreFile="C:/Users/Administrator/.keystore"keystorePass="changeit"truststoreFile="D:/java/jdk1.6.0_18_win_x86/jre/lib/security/cacerts"clientAuth="false" sslProtocol="TLS"/>4.启动服务器,访问https://localhost:8443/测试一下第一次进会弹出添加例外的页面(FF下),添加后就可以看如下面,则表示成功5.三、配置客户端1.解压cas-client-3.2.1-release.zip,将cas-client-3.2.1\modules下的复制到项目的WEB-INFO\lib中2.配置单点登录监听器和过滤器<listener><listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</liste ner-class></listener><!-- 单点登录过滤器--><filter><filter-name>CAS Single Sign Out Filter</filter-name><filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class> </filter><filter-mapping><filter-name>CAS Single Sign Out Filter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--该过滤器负责用户的认证工作,必须启用它--><filter><filter-name>CASFilter</filter-name><filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class> <init-param><param-name>casServerLoginUrl</param-name><param-value>https://localhost:8443/cas/login</param-value><!--这里的server是服务端的IP --></init-param><init-param><param-name>serverName</param-name><param-value>http://localhost:8080/</param-value></init-param></filter><filter-mapping><filter-name>CASFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 该过滤器负责对Ticket的校验工作,必须启用它--><filter><filter-name>CAS Validation Filter</filter-name><filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter </filter-class><init-param><param-name>casServerUrlPrefix</param-name><param-value>https://localhost:8443/cas</param-value></init-param><init-param><param-name>serverName</param-name><param-value>http://localhost:8080/</param-value></init-param></filter><filter-mapping><filter-name>CAS Validation Filter</filter-name><url-pattern>/*</url-pattern></filter-mapping>3.四、测试访问页面,第一次访问会提示安全信息,将其添加到例外(火狐浏览器)跳转到登录页面输入相同的用户名密码即可,例如aaa/aaa 是不是已经跳转到目标页面了呢~五、。

相关文档
最新文档