`

SSO的功能介绍和使用

 
阅读更多

SSO的功能介绍和使用

单点登录SSO

SPS2003和域默认就是集成的,因为SPS2003要求用户使用域账号.微软的域本来就是一个单点登录的系统,所以该用户访问SPS2003门户网站时,只要有权限访问,就不会有一个登录过程,用户将自动按管理员赋予的权限进入门户站点.即所谓的单点登录.

但对第三方应用程序,如果它使用的用户帐号不是域账号,比如,自己有一个用户帐号维护数据库,那么就会因为用户帐户系统不同(一个是域,一个是自己的数据库),当同一个用户访问两个系统时,会有一个显式登录的过程.

如果要把这第三方应用程序集成到SPS门户上,此时就需要使用SPS2003提供的单点登录服务SSO.

SPS2003的单点登录(SSO)服务主要用于以SPS2003为基础的企业应用程序集成(EAI).

SSO主要作用是帮助完成SPS和第三方应用程序的用户登录账号之间的映射(Mapping).例如,假设SPS采用的是域用户信息,而要集成的第三方应用程序B采用是另外一套用户登录数据,那么SSO可以帮助我们完成SPS和应用程序B之间这两套不同的用户登录账号的映射,从而避免二次登录.当然,如果两个应用程序(比如SPSExchange ServerOWA)使用的都是windows集成验证,而当前登录机器的又是域用户帐号,那么只要这个域用户在SPS和第三方应用程序都有访问权限,此时其实就不需要SSO.

应用SSO的一般过程是,首先在"Sharepoint Portal Server SSO管理"中配置好SSO应用程序定义-〉创建并保存一系列SPS和第三方系统用户帐号的映射对-〉开发自己的SSO Web Part,用映射账号完成登录第三方系统的操作并获取,显示相关数据-〉最后在SPS页面上部署此WebPart完成集成.

应用SSO像几乎所有的EAI一样,都需要一定的开发工作量.SPS2003SSO服务将帮助我们减少开发工作量,因为它帮忙完成了存储并加密两套用户帐号的映射.我们通过SPS2003提供的GetCredentials函数就能获取到SSO存储的用户名和密码,还有域名——至于能获取到什么内容,和我们在SSO管理页面上的应用程序定义处的设定相关.我给您的例子《一次登录,资源尽享(Single Sign-On)》中由于定义了用户名,密码和域名这三个字段,所以它的例子代码中就去获取了这三样信息.至于获取到这些信息后,我们怎么用它们来登录第三方应用程序,那就看我们自己代码的写法了:既可以在URL后面附加参数,也可以传给对方提供的Web Service进行登录.

SSO服务主要用来帮助实现应用程序的数据集成.它完成的主要功能是在SPS中不用二次登录就可以呈现应用程序B的某页内容或者某些业务数据.

需要说明的是,SSO不是万能的:

1) SSO只完成账户的映射和存储,无法自动进行"以映射账号登录应用程序B"这样的动作,因为它不知道对方应用系统的登录方式.这需要我们在Web Part中写代码:或者根据映射好的帐号创建一个Credential并传递给应用程序B,或者调用应用程序B暴露的Web Service进行登录.

2) SSO也不负责应用程序B所控制的交互操作.也就是说,如果您的那个应用程序页面中存在诸如"提交"按钮或者链接到另外一个页面的超链接,那么在点击这个按钮或者链接提交后,后继页面的用户验证是完全由应用程序B来控制的,已经超出了SPS的控制范围.因为SSO只传递一次用户凭证,如果这个后继页面还需要用户验证,那么您还会被提示输入用户名密码.

参考资料

这篇文章可参考:

SharePoint Portal Server 2003 中的单一登录》

http://www.microsoft.com/china/technet/prodtechnol/sppt/reskit/c2661881x.mspx

部署SSO的步骤

要实施SSO,我们需要进行一些设定并开发一个Web部件.主要的开发和部署步骤为:

1.启用SSO服务

2.配置SSO服务器和应用程序定义

3.创建加密密钥,并指定用于映射的用户账号

4.创建SSO Web Part,读取SSO服务所存储的用户帐号并在代码中登录第三方应用程序/获取第三方应用程序页面.

5.为该SSO Web Part生成强名并编译,部署在SSO前端服务器上.

以上步骤可以参考微软的文章《一次登录,资源尽享(Single Sign-On)

http://www.microsoft.com/china/community/MsSpecialist/1.mspx

这个例子,讲述的是使用我们映射好的账号去读取一个工作组机器上某个页面内容.

有以下几点需要说明:

1.在创建SSO Web Part项目时,要添加对Microsoft.Sharepoint.Portal.dll,Microsoft.Sharepoint.Portal.SingleSignon.dll的引用.

编译项目前,为了方便记忆和管理,我们可以将在此项目的属性页中,"程序集""默认命名空间"都改成与Web Part代码中的命名空间一致的名称(例如:"WPHttpRequest"),这将使得编译输出的dll名称和SSO Web Part的名称一致.

2.微软网站上的例子是以英文为例的,如果要用此样例代码获取中文页面,我们需要在WebPart代码中将这句代码:

StreamReader sr = new StreamReader(stream);

改成:

StreamReader sr = new StreamReader(stream, System.Text.Encoding.GetEncoding("gb2312"));

这样将按GB2312格式获取页面的流,从而避免乱码显示.

3.日后若对该Web Part的源代码作了变动,您将需要重新部署这个WebPart(推荐部署在GAC).此时您有两种方式,可以任选其一:

1)保持该WebPart项目的版本号不变,把已有的WebPart dll删除,重新部署.

2)将该WebPart项目的版本号增一,例如,AssemblyInfo.cs[assembly: AssemblyVersion("1.0.0.0")]改成[assembly: AssemblyVersion("1.0.0.1")].重新部署.这个方法就不需要从GAC中删除已有的Web Part dll.

3)重新在SPS页面上添加这个新版本的WebPart.

相关文档

《一次登录,资源尽享(Single Sign-On)

http://www.microsoft.com/china/community/MsSpecialist/1.mspx

Single Sign-On in SharePoint Portal Server 2003

http://www.microsoft.com/technet/prodtechnol/sppt/reskit/c2661881x.mspx

其中,这段话讲述了SSO和开发的关系,拷贝出来供您参考:

After you have configured the single sign-on and created the application definitions, you need to develop a Web Part that implements the single sign-on functionality and retrieves information from the corresponding back-end application programmatically.

希望以上信息能帮您更好地理解SPS2003上的SSO服务组件.

 

其他参考资料:==========================

CAS+SSO原理浅谈 

 

常见SSO原理及其实现

SSO原理

 

 

 

分享到:
评论

相关推荐

    sharepoint sso配置和使用

    - 测试SSO功能,确保用户能够平滑地在各个应用间切换而无需重新登录。 5. **安全性考虑**:SSO虽然方便,但也增加了安全风险,因为一旦用户账户被盗,攻击者理论上可以访问所有关联的应用。因此,要确保有强大的...

    推荐给大家 sso介绍

    2. **SSO-enable的应用系统**:为了支持SSO功能,现有的应用系统需要进行改造,以支持SSO API。这意味着应用系统需要放弃原有的认证机制,转而依赖SSO Entry提供的认证服务。 3. **统一的认证与权限信息库**:为了...

    SSO项目介绍.docx

    3. 开发效率提升:新应用可以利用SSO平台的认证服务,避免重复开发用户认证功能,节约开发时间和资源。 实现SSO的技术方案多样,包括: 1. 基于Cookie:通过在用户浏览器存储Session ID来实现跨应用的身份验证,但...

    基于redis的sso接口文档和教程

    在提供的"**sso接口文档和教程**"中,详细介绍了这些接口的使用方法和示例代码,有助于开发者快速理解和实现基于Redis的SSO系统。 总之,基于Redis的SSO解决方案简化了传统的SSO实现,尤其适合于小型或中型企业。...

    Laravel开发-sso-broker

    本项目"laravel开发-sso-broker"旨在利用Laravel构建一个SSO代理,基于Jasny/SSO库,以实现跨多个Laravel应用的SSO功能。 **1. Jasny/SSO 库介绍** Jasny/SSO是由荷兰开发者Arnout Boks创建的一个轻量级的SSO解决...

    sso_introduction.pdf

    - **性能和可用性提升**:通过增加服务器资源、优化代码等方式提高SSO系统的性能和可用性。 - **Web服务器和SSO域的添加**:当需要支持更多Web应用或子域名时,可以通过添加新的Web服务器和扩展SSO域来实现。 - **...

    SSO单点登录技术

    这个系列可能包括了对CAS的介绍、SSO的基本概念、开发环境的搭建、CAS服务器的配置以及实际的软件包下载和构建流程。 标签“CAS SSO”进一步确认了重点是CAS作为实现SSO的工具。CAS是一个基于Java的协议,支持多种...

    sso.rar_sso_sso java

    2. Spring Security:作为Spring生态系统的一部分,Spring Security是一个强大的安全框架,支持SSO功能。通过配置Spring Security,开发者可以轻松地实现基于票据的SSO,同时还能提供权限控制、访问决策管理等高级...

    sso单点登录代码

    本文将详细介绍基于CAS(Central Authentication Service)实现的sso单点登录代码,一个广泛应用于网络应用程序中的开源SSO解决方案。 ### 什么是CAS和SSO? CAS是一个开源的SSO解决方案,它允许用户仅通过一次...

    sso单点登录源代码

    这些组件是实现SSO功能的基础。 7. **SSOLab.Portal.WebApp**:这可能是一个门户应用,用户在这里可以访问所有已集成的SSO应用。它通常提供一个集中式的登录界面,用户在登录后可以无缝跳转到其他应用。 单点登录...

    SpringBoot-SSO.rar

    在Spring Boot框架下,我们可以利用Spring Security、Spring Session以及Redis等技术来实现SSO功能。下面将详细介绍这个过程中的关键知识点。 1. **Spring Security**: Spring Security是Spring生态中的安全组件...

    SSO文档 单点登录

    根据给定的部分内容,我们可以通过设置Cookie来实现SSO功能。下面详细介绍这些关键技术点: 1. **设置Cookie的路径为setPath("/")** - 这意味着Cookie在整个Tomcat目录下都是有效的。例如,如果一个用户在一个子...

    C#.NET的SSO单点登录WebAuth部分

    在SSO场景中,通常使用Forms Authentication,因为它可以灵活地处理用户登录状态和跨域认证。 2. Forms Authentication工作原理:当用户通过用户名和密码成功登录后,服务器会创建一个包含用户信息的加密Ticket,并...

    sso单点登录实例

    "WebSSODemo"可能是一个演示SSO功能的实际Web应用程序,包含前端和后端代码。这个示例可能包括: 1. **前端部分**:展示如何在用户界面中集成SSO登录按钮,以及如何处理IDP返回的票据或令牌,引导用户进入主应用...

    基于.Net的单点登录(SSO)解决方案

    在.Net框架下实现SSO,可以利用微软提供的Identity和Authentication服务,结合自定义的认证策略来构建这种功能。下面将详细介绍基于.Net的SSO解决方案。 首先,理解SSO的核心概念:共享身份验证状态。这通常通过在...

    单点登录(SSO)-同域名、不同域名

    - **服务提供者**(Service Provider, SP):即需要SSO功能的应用程序或系统。 - **客户端/用户**:发起登录请求的一方。 #### 技术实现 在深入了解SSO的具体实现之前,我们先简要回顾一下传统的登录认证机制。 ...

    SSO单点登录

    5. **测试SSO功能** - 测试单点登录的功能是否正常,确保用户在登录后能够顺利地在各个应用间切换而无需重复登录。 - 检查安全性配置是否符合要求,确保数据传输的安全。 #### 五、SSO方案概述 除了CAS之外,还有...

    淘淘商城-SSO接口.docx

    本文档主要介绍的是淘淘商城SSO接口的具体实现方案,包括用户注册、用户登录、用户信息查询及安全退出等功能模块。 #### 二、接口概览 ##### 2.1 注册接口 **功能描述:** 该接口用于用户注册,用户需提供必要的...

    普元 sso 单点登陆集成指南

    普元SSO(Single Sign-On)单点登录集成指南是一份详细指导文档,它主要介绍普元信息技术股份有限公司提供的SSO组件的集成原理、集成方法和配置流程,目的是为了实现用户在多个应用系统间无需重复登录即可切换的体验...

    SSO单点登录解决方案

    "惠普灵动单点登录演示系统"可能是介绍了一个具体的SSO产品,它提供了单点登录、统一身份认证、统一用户管理以及登录门户等功能。这些功能帮助企业构建一个集中的身份管理系统,便于用户管理和权限控制。"solution....

Global site tag (gtag.js) - Google Analytics