`

单点登录一

    博客分类:
  • SSO
阅读更多
我们的项目中使用的版本是3.5.1的(因为已经发布生产了,就没升级)。由于4.0已经是一个Release 版本了,所以决定这系列文章采用4.0的版本作为记录

安装配置JDK、安装Tomcat8,此处不做详解。
到CAS官网下载CAS Server和Client,地址如下:
http://downloads.jasig.org/cas/cas-server-4.0.0-release.zip
http://downloads.jasig.org/cas-clients/cas-client-3.3.3-release.zip

部署CAS服务端
1.将下载的cas-server-4.0.0-release.zip解开,把cas-server-4.0.0/modules/cas-server-webapp-4.0.0.war拷贝到 tomcat的webapps目录,并更名为cas.war。
2.修改cas\WEB-INF\spring-configuration\ticketGrantingTicketCookieGenerator.xml文件,将属性p:cookieSecure="true" 变成 p:cookieSecure="false"(这个设置主要是让CAS不走SSL协议,详见:让CAS不用SSL也可实现跨域)
3.启动tomcat,然后访问:http://localhost:8888/cas,如果能出现正常的CAS登录页面,则说明CAS Server 已经部署成功。等录sasuser/Mellon试试

虽然 CAS Server 已经部署成功,但这只是一个缺省的实现,在实际使用的时候,还需要根据实际概况做扩展和定制,最主要的是扩展认证 (Authentication) 接口和 CAS Server 的界面。
客户端部署
修改web.xml添加
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xmlns="http://java.sun.com/xml/ns/javaee"  
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
    id="WebApp_ID" version="2.5">
    
	<display-name>think3c-cas</display-name>
	<!-- ======================== 单点登录开始 ======================== -->
	<!-- 用于单点退出,该过滤器用于实现单点登出功能,可选配置 -->
	<listener>
		<listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-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>http://localhost:8888/cas/login</param-value><!-- cas 服务器登录 
				地址 http://IP:PORT/CasWebProName/login -->
		</init-param>
		<init-param>
			<!-- 这里的server是服务端的IP -->
			<param-name>serverName</param-name>
			<param-value>http://localhost:8080</param-value>
			<!-- 客户端服务器地址 http://IP:PORT -->
		</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>http://localhost:8888/cas</param-value><!-- cas 服务器地址 http://IP:PORT/CasWebProName -->
		</init-param>
		<init-param>
			<param-name>serverName</param-name>
			<param-value>http://localhost:8080</param-value><!-- 客户端服务器地址 http://IP:PORT -->
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>CAS Validation Filter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<!-- 该过滤器负责实现HttpServletRequest请求的包裹, 比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。 -->
	<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>

	<!-- 该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。 比如AssertionHolder.getAssertion().getPrincipal().getName()。 -->
	<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>
	<!-- ======================== 单点登录结束 ======================== -->
</web-app>

配置完毕后,启动tomcat,然后访问:http://IP:PORT/cas/index.jsp,如果系统跳转到CAS登录页面,输入用户名/密码(正确的)后,会跳转到http://IP:PORT/cas/index.jsp,则说明CAS Client已经部署成功。
这里先不做https处理。
分享到:
评论
2 楼 Janle 2016-04-08  
cclxfeng 写道
默认账户 是 casuser
密码:Mellon

1 楼 cclxfeng 2016-03-19  
默认账户 是 casuser
密码:Mellon

相关推荐

    单点登录1

    NULL 博文链接:https://qtechzf.iteye.com/blog/736978

    单点登录流程

    单点登录 1、涉及文件 AdAction.java; LoginAction.java; AdminuserAction.java; SingonFilter; 2、技术实现思路 (1) 当第一次访问MBS系统时,因为还没有登录,会被引导到ad.do方法,ad.do转接到login.do方法,...

    08 登录_单点登录1

    08 登录_单点登录1

    SSO单点登录

    ASP.NET跨域单点登录源码 asp.net 跨域单点登录实现原理: 当用户第一次访问web应用系统1的时候,因为还没有登录,会被引导到认证中心进行登录; 根据用户提供的登录信息,认证系统进行身份效验,如果 通过效验,...

    SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录

    SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 ...

    单点登录个人总结

    单点登录,Single Sign On,也就是我们平时所说的SSO。一般大型的系统平台,都会用到这个东西。它解决了频繁登录、验证的过程,也就是用户...单点登录初学的入门 , 后面有相应演示的Demo,通过demo1,demo2,项目中的应用

    JAVA单点登录的实现

    1,通过session会话来判断 2,实现单点登录

    NC6单点登录方案

    NCV61-单点登录方案, NC系统提供了一个Servlet来注册用户登录信息。访问该servlet的URL格式基本为: http://host:port/service/ssoRegServlet,其后面可以跟随多个参数

    JEECG 单点登录说明文档

    JEECG BPM 单点登录说明文档(kisso集成),已经在项目中使用。

    多域名SSO单点登录

    应用系统应该能对Token进行识别和提取,通过与认证系统的通讯,能自动判断当前用户是否登录过,从而完成单点登录的功能。 比如说,我现在有3个分站点和1个认证中心(总站)。当用户访问分站点的时候,分站点会发...

    单点登录系统设计与实现源码

    由于用户还没有在单点登录系统上登录过,所以跳转到单点登录系统用户登录页面http://localhost:7771/SSOSite/SignIn.aspx 2、输入正确的用户名和密码(51aspx/51aspx),跳转到企业门户系统首页面...

    CAS单点登录操作文档

    CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点: • 开源的企业级单点登录解决方案。 • CAS Server ...

    U8+ 门户集成 单点登录

    U8+ 门户集成 单点登录 u8增加功能菜单 门户集成 vb6的form窗体 和c#集成进u8

    C# 单点登录

    单点登录(Single Sign On),简称为 SSO。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 在Microsoft Office SharePoint Server 2007中提供了实现单点登录的功能。

    基于Java集成CAS单点登录【接部署即可启用】

    基于Java中CAS的单点登录,有服务端的所有源码,将tomcat目录下的所有资源直接拷到Tomcat服务中间件的webapp目录下,阅读tomcat-webapp中的read.txt文档,查看使用说明,适用于第一次开发CAS单点登录的同学们,简单...

    kisso单点登录

    kisso 采用的是加密会话 cookie 机制实现单点登录 SSO 服务,具备“无状态”、“分散验证” 等特性。 1、session 存放在服务器端,cookie 存放在客户端,存在两种状态:“ 第一种:持久 cookie 具有时效性,以文件的...

    C#单点登录

    C#mvc单点登录,C#mvc单点登录,C#mvc单点登录,重要的事情说三遍,一个精通C#的同事写的。请有需要的朋友借鉴!

    sso单点登录技术

    单点登录,支持多个系统一个登录入口,支持跨域单点登录

    baigo SSO单点登录系统 v3.0.1.zip

    baigo SSO 是一款基于 HTTP 协议的单点登录系统,baigo SSO 以简单为设计、开发的宗旨,安装部署简单、使用简单。baigo SSO 没有复杂的菜单,没有深奥的概念,没有晦涩难懂的名词,一切崇尚简单。 baigo SSO单点...

Global site tag (gtag.js) - Google Analytics