- 浏览: 149775 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
驭乐MJ:
好!谢谢啦!正在学习使用sean中。。
Seam学习笔记 -
laorer:
00 -现在,互联网造就了一批富翁,但那时,似乎什么都不会去想 ...
如果时光能够回流到八年前 -
liuqizhi0925:
八年前,OMG ,能改变的事情真的很多...
如果时光能够回流到八年前
Single Sing-On简介
微软已经推出了Office System,其中的SharePoint Portal Server 2003(以下简称SPS2003)可以用来快速地建立起一个门户网站,可以使企业内用户轻易地找到所需要的信息,协同工作,同时,也可以向Internet上的用户提供一个信息查询的门户网站。
如果用户的客户端和SPS2003服务器以及其他一些服务器(例如Exchange Server)在同一个域中,那么通过SPS2003的网站,访问其他的信息是一件轻而易举的事情,但在很多时候,可能会遇到下面的问题:
1. 客户端并没有加入到域中,或者客户端通过虚拟专用网(VPN)接入公司网络。此时,在访问所有的服务器时,都需要输入用户信息。
2. 用户会使用一些第三方的产品,无法将这些服务器加入到域中。此时,即使登录了SPS2003的网站,在访问其他服务器的时候,还是会出现需要用户信息的窗口。
正是基于以上的需求,在SPS2003中,有一项新的功能—Single Sign On(以下简称SSO)。SSO的基本思想就是:
建立一个加密的数据库,把用户的认证信息,存放到这个数据库中。当成功地验证了登录SPS2003网站的用户身份以后,就可以从加密的数据库中,获得用户的信息,从而用来访问其他的服务器或者一些第三方的服务器。
下面,我们来看看如何对上面提出的第一种情况—客户端不在域中的时候,使用SSO来达到登录SPS2003网站以后,就可以访问其他域中的资源了。
怎样配置Single Sing-On 启用 Single Sign-On
在前端 Web 服务器、作业服务器和运行 Single Sign-on 服务的任何服务器上执行下列操作:
1. 在任务栏上,单击“开始”,指向“管理工具”,再单击“服务”。
2. 在“服务”管理控制台上,双击“Microsoft Single Sign-on Service”。
3. 单击“登录”选项卡。
4. 在“登录帐户”下,单击“此帐户”。
5. 在“此帐户”框中,键入一个帐户名,该帐户应当是本地 Administrators 组的成员,或者是 STS_WPG 和 SPS_WPG 本地组的成员。
6. 在“密码”和“确认密码”框中,键入密码。
7. 单击“应用”。
8. 单击“常规”选项卡。
9. 在“启动类型”列表中,单击“自动”。
10. 在“服务状态”节中,如果服务状态没有显示“已启动”,请单击“启动”。
11. 单击“确定”。
指定 Single Sign-on 和应用程序定义的设置
1. 单击“开始”,指向“所有程序”,指向“SharePoint Portal Server”,再单击“SharePoint Portal Server Single Sign-On 管理”。
2. 在“管理 server_name 的 Single Sign-on 设置”页上的“服务器设置”节中,单击“管理服务器设置”。
3. 在“管理 Single Sign-on 的服务器设置”页上的“Single Sign-On 设置”节中,在“帐户名”框中,键入可以设置和管理 Single Sign-on Service 的 Single Sign-On 管理员帐户。
该帐户可以为组帐户或单个用户帐户。它不能是本地域工作组或通讯组列表。
该帐户的格式是“域\用户组名”或“域\用户名”。
4. 在“企业应用程序定义设置”节中的“帐户名”框中,键入可以设置和管理应用程序定义的企业应用程序管理员帐户。
该帐户可以为组帐户或单个用户帐户。它不能是本地域工作组或通讯组列表。
该帐户的格式是“域\用户组名”或“域\用户名”。
5. 在“数据库设置”节中,执行下列操作:
1) 在“服务器名称”框中,键入要将 Single Sign-on 的设置和帐户信息存储在其中的数据库服务器的名称。
2) 在“数据库名称”框中,键入 Single Sign-on 数据库的名称。
6. 在“超时设置”节中,执行下列操作:
1) 在“票证超时(分钟)”框中,键入票证或存取令牌超时之前等待的分钟数。
2) 在“删除早于该时间的审核日志记录(天)”框中,键入删除记录之前需在审核日志中保存的天数。
注释 在指定的天数之后,审核日志将被覆盖。因为日志包含所有违法操作或登录尝试的记录,所以建议您保存这些日志的备份副本。这些日志驻留在 Single Sign-on 数据库中,并且在备份该数据库时会自动备份。
7. 单击“确定”。
8. 如果出现一个消息框,声明已经重新配置了 Single Sign-on,请单击“确定”。
创建加密密钥
1. 单击“开始”,指向“所有程序”,指向“SharePoint Portal Server”,再单击“SharePoint Portal Server Single Sign-On 管理”。
2. 在“管理 server_name 的 Single Sign-on 设置”页上的“服务器设置”部分中,单击“管理加密密钥”。
3. 在“管理加密密钥”页的“加密密钥创建”部分中,单击“创建加密密钥”。
4. 若要重新加密 Single Sign-On 数据库的凭据,请在“创建加密密钥”页上,选中“使用新加密密钥重新加密所有凭据”复选框,再单击“确定”。
要点 该操作运行时间较长。如果不用新加密密钥重新加密现有的凭据,则用户必须重新键入其凭据,应用程序定义的管理员必须重新键入组凭据。
5. 单击“确定”。
编辑应用程序定义
1. 单击“开始”,指向“所有程序”,指向“SharePoint Portal Server”,再单击“SharePoint Portal Server Single Sign-On 管理”。
2. 理服务器 server_name 的 Single Sign-on 设置”页上的“应用程序设置”部分中,单击“管理企业应用程序定义的设置”。
3. 在“管理企业应用程序定义”页上,单击“新建项目”。
4. 在“编辑企业应用程序定义”页上的“应用程序和联系人信息”部分中,可编辑显示名称和电子邮件联系人。
1)“显示名称”框中,键入该应用程序定义的显示名称。
在我们现在的例子中,请使用“SSOApp”作为程序的名称。
2) 在“电子邮件联系人”框中,键入作为该应用程序联系人的用户的电子邮件地址。
5. 为账号类型选择“单独的”,这样的话对每一个用户都会存储一个用户信息。
5. 在“帐户信息”部分中,选择一个或多个要映射到该应用程序定义的必需登录信息的字段。
1) 为每个字段键入一个显示名称,以提醒您输入必需的信息。
2) 为了确保在查看帐户信息时不会显示敏感性信息(如密码),请对“屏蔽?”单击“是”。
建议在我们的应用中,添加三个字段,分别按次序为UserName, Password和DomainName。
6. 单击“确定”。
管理应用程序定义的帐户信息
1. 单击“开始”,指向“所有程序”,指向“SharePoint Portal Server”,再单击“SharePoint Portal Server Single Sign-On 管理”。
2. 在“管理 server_name 的 Single Sign-on 设置”页上的“企业应用程序定义设置”部分中,单击“管理企业应用程序定义的帐户信息”。
3. 在“管理企业应用程序定义的帐户信息”页上的“帐户信息”部分中,执行下列操作:
1) 在“企业应用程序定义”列表中,选择该应用程序定义的名称。
2) 在“帐户名”或“组帐户名”框中,键入要修改的帐户名。
4. 在“企业应用程序定义”部分中,可执行下列操作:
更新该应用程序的帐户信息
1) 单击“更新帐户信息”。
2) 单击“确定”。
3) 在“提供 application_definition_name 帐户信息”页上的登录信息框中,键入可访问该应用程序的帐户的用户名。企业应用程序是一种后端业务应用程序,SharePoint Portal Server 通过使用应用程序定义与之建立连接。
4) 单击“确定”。
删除该应用程序的帐户信息
1) 单击“从此企业应用程序定义中删除为此帐户存储的凭据”。
2) 单击“确定”。
3) 若要删除用户凭据,请在确认消息框上单击“确定”。
从所有应用程序定义中删除该帐户
1) 单击“从所有企业应用程序定义中删除为此帐户存储的凭据”。
2) 单击“确定”。
3) 若要从所有应用程序定义中删除用户凭据,请在确认消息框上单击“确定”。
在我们的应用中,我们需要为每一位要使用Single Sign-On的用户,建立一个账号信息。
创建使用SSO技术的Web Part
1. 下载并安装Web Part Template for Visual Studio.NET
(http://msdn.microsoft.com/library/en-us/dnspts/html/sharepoint_webparttemplates.asp)
2. 打开Visual Studio.NET, 新建C#工程中的Web Part Library。
3. 将WebPart1.cs更名为“WPHttpRequest.cs”,并输入以下代码,代码的原理是使用WebRequest类以用户默认的身份信息向远端的URL发送请求,由于Single Sign-On的作用,原本此用户需要再次通过身份验证,现在只需要提供默认的身份信息便可以直接访问远端的主机。
using System;
using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Serialization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.WebPartPages;
//添加引用
using System.Net;
using System.IO;
//重新命名NameSpace为WPHttpRequest
namespace WPHttpRequest
{
[DefaultProperty("Text"),
ToolboxData("<{0}:HttpRequestWebPart runat=server></{0}:HttpRequestWebPart>"),
XmlRoot(Namespace="WPHttpRequest")]
//重新命名Class为WPHttpRequest
public class HttpRequestWebPart : Microsoft.SharePoint.WebPartPages.WebPart
{
//定义私有变量
private const string c_Url = " private%20const%20string%20defaultText%20='>http://"; //目标URL
private const string defaultText = "";
private string text=defaultText;
private string _myurl = "";
[Category("Custom Properties")]
[DefaultValue(c_Url)]
[WebPartStorage(Storage.Personal)]
[FriendlyNameAttribute("Url")]
[Description("Type the Url here.")]
[Browsable(true)]
[XmlElement(ElementName="Url")]
//定义属性
public string Url //目标URL
{
get
{
return _myurl;
}
set
{
_myurl = value;
}
}
[Browsable(true),Category("Miscellaneous"),
DefaultValue(defaultText),
WebPartStorage(Storage.Personal),
FriendlyName("Text"),Description("Text Property")]
public string Text
{
get
{
return text;
}
set
{
text = value;
}
}
//重载RenderWebPart,并调用GetHttpRequestContent获取目标URL的内容
protected override void RenderWebPart(HtmlTextWriter output)
{
this.Text = GetHttpRequestContent(this.Url);
output.Write(Text);
}
//获取远端页面的信息
<p cl发表评论
-
Nginx 常见应用技术指南
2006-08-26 00:00 719Nginx 常见应用技术指南 参考地址: http: ... -
apache2.2+tomcat5 配置笔记
2006-08-12 00:00 867apache2.2+tomcat5 配置笔记 ... -
最亲密接触Dhtml-JScript开发细节
2006-08-05 00:00 867转自:http://www.cnblogs.com/birds ... -
SSI(Server Side Include)
2006-07-29 00:00 1402使用SSI(Server Side Include)的 ... -
CSS学习笔记
2006-07-22 00:00 6031.一个良好的习惯是在命名类的时候,根据它们的功能而不 ... -
关于XPATH的文章
2006-07-15 00:00 959转自:http://www.matrix.org. ... -
How to Drag and Drop in JavaScript
2006-07-08 00:00 646reference:http://www.webreferen ... -
http状态码
2006-07-01 00:00 701长整形标准http状态码,定义如下: Number ... -
XmlHttp中文参考
2006-06-24 00:00 776转自:http://www.xmlhttp.cn/ 最 ... -
JavaScript 随笔汇集[转]
2006-06-17 00:00 804最新的文章链接放在最上,并保持更新。 [SCRIP ... -
window.showModalDialog以及window.open用法简介
2006-06-10 00:00 1056window.showModalDialog以及window. ... -
jQuery与prototype的比较
2006-06-03 00:00 965jQuery与prototype的比较 ... -
推荐几款JavaScript日历选择器
2006-05-27 00:00 28611. Site:http://www.dynarch. ... -
JavaScript学习笔记 2
2006-05-13 00:00 8871. 如果你正访问的网站在本地存有cookie,那 ... -
JavaScript学习笔记
2006-05-06 00:00 934JavaScript学习笔记 ... -
Apache学习笔记
2006-04-15 00:00 977Apache HTTP Server Version 2.2 ... -
PHP学习笔记
2006-04-01 00:00 1202* 学习网址: PHP中文手册 http: ...
相关推荐
Single Sign-on Services for Microsoft Enterprise Application Integration Solutions:
Single sign-on (SSO) is a property of access control of multiple related, but independent software systems. With this property a user logs in once and gains access to all systems without being ...
Solution in Detail - SAP NetWeaver Single Sign-On
NULL 博文链接:https://572327713.iteye.com/blog/2356519
A Survey on Single Sign-On Techniques
SingleSign-On introduction
单层卷积神经网络应用于手写字体的识别。引用https://github.com/sunshineatnoon/
cxf-dosgi-ri-singlebundle-distribution-1.4.0.jar
rubycas-server, 为web应用提供 单点登录(Single Sign-On) 认证,实现Jasig协议的服务器端 rubycas服务器版权Matt Zukowski贡献的部分是版权所有( c ) 2011 Urbacon有限公司。 其他部分是他们各自作者的版权。作者请...
自定义的单点登录系统,可返回各个子系统的登录页及支持CAS Server集群。(https://github.com/liyingqiao121727/single-sign-on-v2)
CAS讲义SSO (Single Sign-on)原理
SSO (Single Sign-On) 基于YMP框架实现的单点登录服务模块
Red Hat Enterprise Linux 6 Managing Single Sign-On and Smart Cards On Using the Enterprise Security Client
这篇文字比较详细的讲解了vshpere 5.1的安装,图文并茂,包括single sign on 的安装,比较详细。希望可以帮到需要的兄弟。
django-mama-cas, Django 中央身份验证服务( CAS ) 单点登录(Single Sign-On) 服务器 MamaCAS MamaCAS是 Django 中央认证服务( CAS ) 单一登录和单一注销服务器。 它实现了 CAS 1.0.2.0和 3.0协议,包括一些可选的...
本文中作者给大家详细的演示了如何实现WebSphere服务器和webpshere服务器之间的SSO(“单点登录、全网漫游”),并且给大家详细地解释了实现过程中的关键点和相关选项的含义,并且给出了开发带有安全性能要求的web...
Single12cR2-ASM-on-LINUX7.3Single12cR2-ASM-on-LINUX7.3
Single Sign-On (SSO)是近来的热门话题. 很多和我交往的客户中都有不止一个运行在.Net框架中的Web应用程序或者若干子域名.而他们甚至希望在不同的域名中也可以只登陆一次就可以畅游所有站点.今天我们关注的是如何在...
single-spa-no-single-spa-layout.zip
技术分享:SSO_Single_Sign-on实战