CAS系列:Portal与SSO

Enterprise Single Sign-On

企业信息门户作为企业内部门户基础平台,一大主要用途是实现现有的业务系统、数据资源、人力资源的整合,实现信息(数据)的合理聚集;通过实现统一的用户和统一的访问入口来访问门户平台中整合的相关信息资源,真正实现资源的有效利用,更大发挥企业现有资源的使用价值,提高生产效率。门户应用集成技术作为关键性的技术手段,实现门户网站与业务系统之间单点登陆,以及内容聚集。

基本概念

门户portlet

Portlet 是特殊类型的 Web 模块,它们被设计成在门户网站的环境中运行,是独立地开发、部署、管理和显示小门户网站的应用程序。Portlet 不仅仅是现有 Web 内容的简单视图。portlet 是完整的应用程序,遵循标准模型-视图-控制器设计。Portlet 有多个状态和查看方式以及事件和消息传递能力。同时 Portlet 是可再用的 Web 模块,它们在门户网站服务器上运行并提供对基于 Web 的内容、应用程序和其他资源访问。

单点登录SSO

用户仅需要在门户系统登录一次,就可以访问被授权访问的栏目或者其他应用,用户只需要记住一个帐号即可。通过提供安全登录访问和集中管理应用软件和数据的信息框架,实现用户只需登录一次,即可获得授权范围内所有企业应用程序的访问权。

再者来说:

一般来说,现在的企业都有很多的业务系统,这些业务系统有很多业务又是相互关联的。例如ERP、CRM、供应链管理、OA、数据库系统、数据仓库等等。这些业务需要整合。对于企业应用的集成,可以分为用户界面集成、业务流程集成、应用集成、数据集成。

用户界面集成:用户交互的集成。

流程集成:跨应用系统的业务流程集成。

应用集成:多应用系统间的交互。

数据(集成),保证多个系统中的信息保持一致。

Portal与SSO关系

门户与业务系统实现 SSO(单点登陆),通过在门户使用 portlet 技术实现,为业务应用提供访问连接,当用户点击门户站点页面中的连接,或者直接访问门户页面中的某第三方系统的业务模块 Portlet 时,自动将登陆到需要访问的业务系统,而无需再次进行用户认证。

单点登录的实现从技术上可以从不同的维度着手,一般分为“客户端 Web 应用 SSO(Client-Web App SSO)”方式和“Portal 后台应用 SSO(Portal-Back End SSO)”方式,每种方式均有相应的技术实现,如图: Portal 单点登录服务:

真实SSO与伪SSO

1)真实SSO

利用门户系统建立统一的 SSO 认证中心,通过 SSO 中心认证后,应用系统利用 SSO API 同 Portal Server 通信,验证用户是否经过认证。新开发的应用系统大多使用这种 SSO 的实现方式。这种方式需要对应用系统的认证模块进行修改。多数情况下,使用信任关联拦截器(TAI)也是建立 SSO 认证中心的常见方式。

门户服务器实现了 Java 认证和授权服务(Java Authentication and Authorization Service(JAAS))体系结构。JAAS 提供了一种用来认证 subject 和提供细粒度访问控制的办法。JAAS 是标准 Java 安全性模型的一部分;它使应用程序不依赖于所使用的底层认证和授权机制。

JAAS 使用模块化的服务提供者接口来执行登录和注销操作。通过门户网站的 JAAS 登录模块建立的凭证包括 CORBA 凭证、用户和组专有名称、用户标识和密码以及 LTPA 令牌。在分布式 J2EE 环境中,portlet 可以使用 JAAS API 来访问启用了 JAAS 的后端应用程序。

认证中心的建立,可以利用 JAAS 安全模型实现,例如,通过实现 WebSphere 自带的 LTPA 令牌技术来实现门户及各应用系统的认证统一,利用 Portal 建立公共的 SSOToken 实现认证统一。也可以通过一些开源的认证模块来实现,如 CAS、OpenSSO 等。

2)伪SSO

通过 WebSphere Portal 认证或者 SSO 中心认证后,应用系统还要自己进行用户的认证。这种方式适用于那些无法修改认证模块的应用系统。这种情况可以利用应用系统比较基础的接口来实现,如 URL+User+Password、Form 表单代填等。

伪SSO的几种方式:

A.基于 Form 方式

这种方式是通过模拟用户凭证提交,将业务系统相关的用户凭证通过 Form 提交的方式,传递给业务系统认证模块。

这种方式适合待集成的业务系统认证方式采用 From 表单,当通过 portlet 技术封装 Form 表单包含有业务系统相关的用户凭证,以及资源 URL。通过将业务系统所需的用户凭证通过 Form(表单)提交方式,模拟用户登陆,业务系统将用户所需的资源通过 web 方式反馈用户。

适用于基于 B/S 的 Web 业务应用系统,并且用户认证方式提供 Form 表单认证服务功能。

B.URL

将用户凭证直接通过 URL 的方式发送给业务系统,业务系统的认证程序将截获的用户请求 URL 中获取用户凭证,从而实现门户与业务系统的单点登陆。或者将用户凭证存储在 HTTP 请求报头,业务系统认证程序通过解析 HTTP 请求头信息,获取用户凭证。

C.模拟会话

利用 WebSphere Portal 以及应用系统的接口,模拟应用系统的认证状态。

D.模拟证书

实现单点登陆的业务系统用户认证方式并不是基于 Form,也不是采用 HTTP Header。需要客户端(此是门户信息系统将被作为客户端,业务系统将作为服务器)提供客户电子证书,这需要通过 portlet 应用程序,或 J2EE 应用程序来实现模拟将电子证书发送给业务系统认证模块。

CAS系列:Portal与SSO

时间: 2025-01-02 13:59:13

CAS系列:Portal与SSO的相关文章

CAS系列:CAS Server简介与安装

CAS是什么? JA-SIG CAS 是一个企业级的.开源的基于Java2EE的SSO解决方案.它有多种用不同语言编写的客户端.CAS是由耶鲁大学(Yale)开发. CAS Server版本与Java版本 CAS 3.1 要部署CAS3.1,至少得JDK1.5 . On the Windows PC, building CAS has been tested with the following: JDK 1.5.0_8 and higher JDK 1.6 and higher On Linu

(转)Yale CAS + .net Client 实现 SSO(4)

第一部分:安装配置 Tomcat 第二部分:安装配置 CAS 第三部分:实现 ASP.NET WebForm Client 第四部分:实现基于数据库的身份验证 1.下载 Microsoft JDBC Driver for SQL Server. (1)Microsoft JDBC Driver 4.0 for SQL Server 下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=11774 网站提供了两种格式文件供下载,一

(转)Yale CAS + .net Client 实现 SSO(5)

第一部分:安装配置 Tomcat 第二部分:安装配置 CAS 第三部分:实现 ASP.NET WebForm Client 第四部分:实现基于数据库的身份验证 第五部分:扩展基于数据库的身份验证 1. 应用场景 前面提到的基于数据库的集中身份验证主要是通过用户名.密码的方式完成验证操作,然而在实际使用过程中,用户可能需要多种形式的认证手段,除了用户名密码的方式外,还可能通过邮箱或手机号登录,但不管使用何种方式登录,都对应同一用户.下图演示了淘宝网在登录时允许用户以“手机号/会员名/邮箱”三种方式

cas系列-cas登出(四)

跟登陆一样,登出操作也很重要.由于是多应用间操作,状态保持也是一个要点,根据登出的影响范围,可以将登出操作分为两类: 单应用登出 单点登出(多应用登出) 顾名思义,单应用登出即登出只影响被操作的应用会话,其他应用和CAS会话状态不受影响.这也就需要你退出每一个应用,如果应用数量较多,每次退出可能都是件力气活.单点登出是结束SSO会话,所有建立在SSO会话上的的应用会话都会进行登出.使用户的状态保持一致.当应用间会话记录不一致时,登出操作可能会造成会话记录丢失; 登出操作: /logout?ser

轻松搭建CAS系列(1)-使用cas overlay搭建SSO SERVER服务端

概要说明 cas的服务端搭建有两种常用的方式:   1. 基于源码的基础上构建出来的   2. 使用WAR overlay的方式来安装 官方推荐使用第二种,配置管理方便,以后升级也容易.本文就是使用第二种方式 安装步骤  1. 安装GIT 自行到 https://www.git-scm.com/download/ 下载后安装 2. 创建CAS的工作目录 mkdir d:\casoverlay cd d:\casoverlay d: 3.下载CAS Overlay git clone -b 5.1

cas系列(一)--cas单点登录基本原理

(这段时间打算做单点登录,因此研究了一些cas资料并作为一个系列记录下来,一来可能会帮助一些人,二来对我自己所学知识也是一个巩固.) 一.为什么要实现单点登录 随着信息化不断发展,企业的信息化过程是一个循序渐进的过程,在企业各个业务网站逐步建设的过程中,根据各种业务信息水平的需要构建了相应的应用系统,由于这些应用系统一般是 在不同的时期开发完成的,各应用系统由于功能侧重.设计方法和开发技术都有所不同,也就形成了各自独立的用户库和用户认证体系.随着新的业务网站不断的增 加,用户在每个应用系统中都有

cas系列(三)--HTTP和HTTPS、SSL

(这段时间打算做单点登录,因此研究了一些cas资料并作为一个系列记录下来,一来可能会帮助一些人,二来对我自己所学知识也是一个巩固.) 本文转自異次元藍客点击打开链接 1.  HTTPS HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL. 它是一个URI scheme(抽象标识符体

(转)Yale CAS + .net Client 实现 SSO(1)

由于信息系统集成需要,最近研究了一下CAS.从网上找了不少资料,很多是针对Java平台的,为数不多的针对.net Client的文章往往片面的介绍某个方面,照着去做确会遇到大量的问题,特别是“重定向循环”问题,网上的解决方案多种多样,而且并不能完全解决问题.通过最近几天的摸索,终于调试成功,为此,本系列随笔将详细介绍在ASP.NET中,如何通过CAS实现单点登录(Single Sign On),并针对网上的一些资料进行讨论,并提供本人针对“重定向循环”问题的解决办法. 第一部分:安装配置 Tom

(转)Yale CAS + .net Client 实现 SSO(2)

第一部分:安装配置 Tomcat 第二部分:安装配置 CAS 1. 下载 CAS 及.NET CAS client. CAS下载地址:http://www.jasig.org/cas/download .NET CAS Client 下载地址:https://wiki.jasig.org/display/CASC/.Net+Cas+Client 2. 安装 CAS 解压缩下载下来的“cas-server-3.5.1-release.zip”, 在“modules”文件夹中找到“cas-serve