`
fengchong719
  • 浏览: 82849 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

CAS 浅析 - CAS客户端的安装

    博客分类:
  • CAS
cas 
阅读更多
声明:这只是个人见解,不代表官方。
至于服务端的配置请参照《CAS 浅析 - CAS服务的安装》http://feng-henry.iteye.com/blog/1545832
client的包的下载我在这里再给个链接:http://downloads.jasig.org/cas-clients/
为了让客户端运行起来我们得生成服务端、客户端证书。有几点需要注意的地方:
1. 设置你的应用服务器的jdk为java_home,不设的话,也要注意,之后提到jdk肯定是应用服务器的jdk(包括eclipse的jdk都要是指向同一个JDK的,否则生成的证书会不可用).
2. 证书的CN最好用域名或者机器名。

我们进入CMD运行:
keytool -genkey -v -alias 客户端密钥名称 -keyalg RSA(密钥算法) -keystore 客户端密钥文件 -dname "CN=域名/机器名,OU=机构,O=公司,L=城市,ST=区域,C=国家" -validity 有效时间 -storepass  文件密码 -keypass 密钥密码
keytool -export -alias 客户端密钥名称 -keystore 客户端密钥文件 -storepass 文件密码 -keypass 密钥密码 -file 客户端证书文件(*.cer)
keytool -import -alias 客户端密钥名称 -v -file 客户端证书 -keystore 服务端密钥文件 -storepass 服务端密钥文件密码
keytool -import -v -trustcacerts -alias 客户端密钥名称 -file 客户端证书 -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit


简单的解释一下,首先是生成客户端密钥,并保存到文件。因为JDK只能识别CER证书,所以要将密钥文件导成CER类型,然后将他添加到服务端密钥文件中,让服务端能认识这个密钥,最后就是让JDK能识别这个密钥。

这里有两篇生成密钥的详细文章:
http://www.chineselinuxuniversity.net/articles/38227.shtml
http://wsqwsq000.iteye.com/blog/1120581


下面我提供2种应用服务器的配置方法:
1.tomcat 的 修改server.xml
<Connector port="8443" 
    	 protocol="org.apache.coyote.http11.Http11Protocol"
    	 SSLEnabled="true"
    	 maxThreads="200"
    	 acceptCount="100"
    	 disableUploadTimeout="true"
    	 enableLookups="true"
    	 scheme="https" 
    	 secure="true"
    	 clientAuth="false" 
    	 sslProtocol="TLS" 
    	 keystoreFile="服务端密钥文件位置"
	 keystorePass="密码"
         truststoreFile="服务端密钥文件位置"
	 truststorePass="密码"
 />


2. jetty 服务端配置
<connector implementation="org.mortbay.jetty.security.SslSocketConnector">
<port>8443</port>
<keystore>文件位置</keystore>
<password>密码</password>
<keyPassword>密码</keyPassword>
<truststore>文件位置</truststore>							<trustPassword>密码</trustPassword>
</connector>

jetty 客户端配置
<connector implementation="org.mortbay.jetty.security.SslSocketConnector">
<port>8443</port>
<keystore>文件位置</keystore>
<password>密码</password>
<keyPassword>密码</keyPassword>
</connector>


就样就行了。然后你建一个工程然后引入cas-client-core-*.jar,依赖包我就做介绍了。
新建工程的web.xml的配置如下:
<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>
	<listener>
		<listener-class>
			org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
	</listener>
	<filter>
		<filter-name>CAS Authentication Filter</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>
		</init-param>
		<init-param>
			<param-name>serverName</param-name>
			<param-value>http://localhost:8888</param-value>
		</init-param>
		<init-param>
			<param-name>gateway</param-name>
			<param-value>false</param-value>
		</init-param>
		<init-param>
			<param-name>renew</param-name>
			<param-value>false</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>CAS Authentication Filter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>


	<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:8888</param-value>
		</init-param>
		<init-param>
			<param-name>acceptAnyProxy</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>

	<filter-mapping>
		<filter-name>CAS Validation Filter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<filter>
		<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
		<filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>


	<filter>
		<filter-name>CAS Assertion Thread Local Filter</filter-name>
		<filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>CAS Assertion Thread Local Filter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	

	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>

</web-app>

上面这个配置文件,我就不介绍了,filter的name已经把它的功能介绍了。
然后启动项目访问你新建工程的URL就会自动跳转到cas,登录成功之后就会跳转回来。
你可以多建几个工程,来进行跳转测试。
分享到:
评论

相关推荐

    cas-overlay-template-6.4 服务端代码

    1.CAS-集成mysql 2.CAS-日志审计 3.CAS-连接池配置 4.CAS-自定义错误信息 5.CAS-识别json文件 6.CAS-页面缓存记住我 7.CAS-cookie设置 8.CAS-tgc设置 9.CAS-登出 10.CAS-redisCluster集群存储ticket(相应redis必须...

    CAS-3.2.1自定义客户端登录界面----完整篇

    标题中的"CAS-3.2.1自定义客户端登录界面"指的是中央认证服务(Central Authentication Service,CAS)的3.2.1版本中关于自定义客户端登录界面的实践。CAS是一种开源的身份验证协议,用于在网络上为用户提供单点登录...

    cas-client-core-3.3.3

    `cas-client-core-3.3.3` 是一个CAS客户端的核心库,它使得应用程序能够与CAS服务器进行交互,实现用户的认证和授权功能。 1. **CAS协议原理**: CAS协议通过代理票据(Proxy Ticket)和服务票据(Service Ticket...

    cas-server-3.4.10-release和cas-client-3.2.1-release两个

    标题提到的"cas-server-3.4.10-release"和"cas-client-3.2.1-release"是CAS协议的两个关键组件:服务器端和客户端。 **CAS服务器端(cas-server-3.4.10-release)** CAS服务器是整个系统的核心,它负责处理用户的...

    CAS单点登录(SSO)服务端自定义认证+CAS客户端配置+CAS完整使用文档+CAS4.2.7 cas-serv服务端源码 cas-client客户端源码

    CAS 4.2.7是CAS的一个稳定版本,它包含了服务端(cas-server)和客户端(cas-client)的源码。通过阅读源码,开发者可以深入了解CAS的工作原理,以及如何扩展和定制CAS功能。 4. **数据库连接相关jar包**: 如果...

    cas-server-webapp-4.0.0单点登录(带超详细文档、数据连接jar包、c3p0)可运行

    单点登录 sso cas带超详细文档,包含(cas-server-webapp-4.0.0.war、c3p0-0.9.1.2.jar、cas-client-core-3.3.3.jar、cas-server-support-jdbc-4.0.0.jar、cas-server-webapp-support-4.0.0.jar、commons-logging-...

    cas-client-autoconfig-support, Apereo Java客户端支持基于注释的配置.zip

    cas-client-autoconfig-support, Apereo Java客户端支持基于注释的配置 cas-client-autoconfig-support 为CAS Java客户端提供基于注释的配置支持的库,这个项目是作为Unicon的开源支持程序的一部

    cas-server-3.4.10-release和cas-client-3.2.1-release

    接下来是`cas-client-3.2.1-release`,它是CAS客户端的发布包,用于集成到各个应用系统中,实现对CAS服务器的调用。这个版本包含客户端库、配置示例和其他相关资源。客户端的主要功能有: 1. **票证验证**:客户端...

    cas-server-3.5.1和cas-client-3.2.1

    接下来是`cas-client-3.2.1`,它是CAS客户端库,用于集成到各个应用系统中。主要功能包括: 1. **Ticket验证**:客户端会检查用户访问应用时携带的CAS服务票证(Service Ticket),并将其发送到CAS服务器验证。 2. ...

    cas-server-3.4.3.1-release.zip

    1. **安装和配置CAS服务器**: 部署`cas-server-webapp`到应用服务器,配置CAS服务器以适应您的环境,如数据库连接、认证源等。 2. **配置Liferay**: 在Liferay中配置CAS客户端插件,设置SSO属性,确保与CAS服务器...

    clientone:springboot shiro CAS buji-pac4j 整合客户端,通过访问CAS server实现单点登录(Single Sign On)

    首先运行cas-server,保证其运行。 (可以用上面的改造好的,也可以用原生的cas-server。 只要等成功登陆cas-server即可) 在application.yml配置 cas.server.url 例如: 和 cas.project.url 例如 (test.test.com 在...

    cas-server-webapp-tomcat-5.3.14

    cas服务器war包,用于搭建cas认证服务器,由于国内网的原因,下载老是超时,故此提供给,cas-server-webapp-tomcat-5.3.14

    cas-overlay-template-5.3.zip,可以集成springboot,亲测可用。

    在提供的压缩包`cas-overlay-template-5.3.zip`中,我们找到了CAS 5.3版本的源代码模板,这将帮助开发者快速构建自己的CAS服务器,并与Spring Boot集成。下面我们将详细讨论如何理解和利用这些资源。 首先,`cas-...

    cas-client-3.3.3-release和cas-server-4.2.1-release下载

    2. `cas-client-3.3.3-release.zip`:这是CAS客户端的组件,负责与CAS服务器交互,实现SSO功能。客户端组件通常包括以下部分: - `cas-client-support`: 提供与CAS服务器通信所需的库和配置,如Java过滤器(`...

    cas-client-3.1.12-release.zip

    CAS 客户端的安装通常涉及将相关的JAR文件添加到项目的类路径中,并配置相应的服务器端XML配置文件,如 `cas-client-support-spring.xml` 或者 `web.xml`。3.1.12版本可能会提供更简洁的配置选项和更好的兼容性,以...

    cas-server-5.3.14-mysql相关jar包.rar

    cas-server mysql相关jar包(cas-server-support-jdbc-5.3.14.jar、cas-server-support-jdbc-authentication-5.3.14.jar、cas-server-support-jdbc-drivers-5.3.14.jar、mysql-connector-java-5.1.28.jar)

    springmvc+spring+shiro+cas单点登录实例

    服务端启动就用windows版本的tomcat吧,tomcat添加cas-server就好,端口自定 spring-node-1 和spring-node-1 是cas客户端,这两个直接用maven-tomcat7的插件启动,在pom.xml中配置好了,端口也在配置了。然后clean ...

    cas-server-3.4.11和cas-client-3.2.1

    在"cas-server-3.4.11-release.zip"和"cas-client-3.2.1-release.zip"这两个压缩包中,你可以找到源码、文档、示例以及必要的配置文件,用于部署和定制CAS服务器和客户端。通过深入研究这些资源,你可以了解到如何...

    CAS-PEAL-R1 人脸识别库

    "CAS-PEAL-R1 人脸识别库" 是一个专为深度学习人脸识别研究而设计的大型数据集。这个库的独特之处在于它已经预先进行了分类,这意味着它包含大量人脸图像,这些图像已经被准确地标记和分组,使得研究人员能够方便地...

Global site tag (gtag.js) - Google Analytics