`

单点登陆

 
阅读更多

补充:http://904582819.blog.163.com/blog/static/111592820201161155229461/

 

单点登录SSO

 

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

 

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

 

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

 

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

 

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

 

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

 

应用SSO像几乎所有的EAI一样,都需要一定的开发工作量.但SPS2003的SSO服务将帮助我们减少开发工作量,因为它帮忙完成了存储并加密两套用户帐号的映射.我们通过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服务组件.

分享到:
评论

相关推荐

    exchange邮件系统单点登录整合

    ### Exchange邮件系统单点登录整合知识点 #### 一、单点登录(Single Sign-On, SSO)概述 单点登录是一种认证机制,允许用户通过一次身份验证就能访问多个应用程序和服务,而无需重复登录。这种机制提高了用户体验...

    NC6单点登录方案

    ### NC6单点登录方案详解 #### 一、概述 NC6单点登录(Single Sign-On,简称SSO)方案是用友网络科技股份有限公司(以下简称“用友”)推出的一种提高用户体验并增强安全性的重要功能。它允许用户仅需登录一次即可...

    用友U8开发单点登录方案

    用友U8开发单点登录方案 本文主要介绍了用友U8开发单点登录方案的设计背景、应用场景、实现方式和技术细节。单点登录方案的设计目标是实现非U8系统与U8系统的集成,共享用户名和密码,实现单点登录。 设计背景 ...

    cas 单点登录 解决方案.

    cas 单点登录解决方案 cas 单点登录解决方案是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。随着企业的发展,业务系统的数量...

    JEECG 单点登录集成文档(kisso集成)

    JEECG单点登录集成文档(kisso集成)详细介绍了如何将Kisso单点登录解决方案集成到JEECG智能开发平台v3版本中。文档中提到了Kisso的基本概念和实现单点登录(SSO)的技术细节,具体包括服务端和客户端的集成步骤以及...

    JEECG 单点登录说明文档

    JEECG智能开发平台的单点登录(SSO)功能是通过集成Kisso实现的,Kisso是一个轻量级Java权限框架,它利用加密会话cookie机制来实现单点登录服务。单点登录是一种用户登录认证方法,允许用户在多个应用系统中,只通过...

    华为防火墙实现单点登录方式.docx

    然后,终端设备加入AD域后,AD域控服务器会往终端设备上安装一个脚本,这个脚本是来源于单点登录服务程序,所以终端的上下线等操作会通过域传给AD域控服务器,并且还会通过脚本将信息传递给单点登录服务程序,单点...

    Jeecg配置单点登录 登录验证完整代码

    在本场景中,我们关注的是Jeecg如何配置单点登录(Single Sign-On,简称SSO)以及相关的登录验证代码。单点登录是一种网络应用架构中的安全机制,允许用户在一次登录后,就能访问多个相互关联的应用系统,而无需再次...

    金蝶EAS portal单点登录到SHR文档

    金蝶EAS portal单点登录到SHR文档 单点登录(Single Sign-On,SSO)是指用户只需要输入一次用户名和密码,即可访问多个相关的应用系统,而不需要再次输入登录信息。金蝶EAS portal单点登录到SHR文档提供了详细的...

    C#.net实现单点登录

    单点登录(Single Sign-On,简称SSO)是一种网络用户身份验证机制,允许用户在一个系统或应用中登录后,无须再次输入凭证就能访问多个相互信任的系统或应用。在IT行业中,C#.NET框架提供了丰富的功能来实现跨域单点...

    K3单点登录二次开发指导文档

    【K3单点登录二次开发指导文档】是针对金蝶K3系统中单点登录功能进行集成应用的技术文档,旨在帮助具有相应开发经验的人员理解并实现与K/3门户、K/3、K/3HR等应用系统的无缝对接。单点登录(Single Sign-On,SSO)是...

    Android端实现单点登录的方法详解

    单点登录(Single Sign-On,简称SSO)是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。在Android端实现SSO,主要是为了确保用户在同一时间只能在一个设备上保持活跃的...

    漂亮的单点登录网页模版

    单点登录(Single Sign-On,简称SSO)是一种网络身份验证机制,允许用户在一个系统上登录后,无需再次提供凭证就能访问多个相互信任的系统。它简化了用户管理和提升了用户体验,因为用户不再需要记住多个密码或者在...

    用cas实现mantis单点登录和登出

    ### 使用 CAS 实现 Mantis 单点登录与登出 #### 概述 单点登录(Single Sign-On,简称 SSO)是一种常见的身份认证模式,它允许用户在多个应用程序和服务中仅通过一次登录就能访问所有相关系统而无需多次输入密码。...

    nc63、nc65单点登录方案

    ### nc63、nc65单点登录方案详解 #### 一、概述 单点登录(Single Sign-On,简称SSO)是一种用户只需要一次登录就能访问所有相互信任的应用系统的认证方式。这种机制不仅提升了用户体验,同时也提高了系统的安全性...

    第三方单点登录Ecology方案

    在IT行业中,第三方单点登录(Third-party Single Sign-On,3SSO)是一种常见的身份验证解决方案,它允许用户通过一个中央认证系统访问多个相互独立的应用系统,而无需反复登录。"第三方单点登录Ecology方案"是针对...

    第8部分:单点登录服务接口规范.docx

    同时,该规范还对涉及的重要术语进行了明确的定义,比如单点登录、单点登录服务和单点登录票据等,以消除在不同应用场景中的歧义和误解。 四、单点登录服务逻辑与接口定义 规范中对单点登录服务的逻辑进行了详细的...

    基于JWT实现SSO单点登录流程图解

    基于JWT实现SSO单点登录流程图解 基于JWT实现SSO单点登录流程图解是指使用JSON Web Token(JWT)来实现单点登录(SSO)的机制。在这种机制中,用户只需要登录一次,就可以访问多个应用服务器上的资源,而不需要再次...

    springCloud-master_单点登录_springCloud单点登录_SpringCloud系统_springclou

    在"springCloud-master_单点登录_springCloud单点登录_SpringCloud系统_springcloud eureka单点登录"这个项目中,我们将重点探讨如何在SpringCloud环境中实现单点登录(Single Sign-On,简称SSO)。 单点登录是一种...

    oracle单点登录demo示例

    Oracle单点登录(Single Sign-On, SSO)是一种身份验证机制,它允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。Oracle的SSO解决方案提供了企业级的安全性和便利性,大大提高了用户体验并降低...

Global site tag (gtag.js) - Google Analytics