在现实的业务场景中,有时为了更好的管理域用户和服务。我们往往会创建多个分散式的域,每个域的Administrator专注于维护特定域中的用户和资源,Administrator也可以定义安全策略,比如账号策略等。

场景介绍

现有如下场景,一个二层拓扑的SharePoint Farm包含一台SharePoint Server,DB Server,AD(假设Contoso.com) ,毫无疑问AD Contoso.com承载了SharePoint的身份认证。现需要再加入一台AD(假设为Mintcode.Local),如下图所示:

如上图所示那样,contoso.com与mintcode.local之间建立了单向(One-Way)的外传信任关系,即Contoso.com信任Mintcode.Local。这样Mintcode.local域中用户能被Contoso.com域验证,但Contoso.com域中用户不能被mintcode.local域认证。

理清了业务场景后,接下来就是怎样去实现了。

准备工作

回顾下上述的拓扑图,有如下两台AD域服务器:

Contoso.com的IP 地址:192.168.123.14

Mintcode.local的IP 地址:192.168.16.7

好了,磨刀不误砍柴工,让我们开始实现吧,首先需准备如下工作——

  • 域服务器之间必须有同样的域功能级别(Domain Functional Level),因为承载了SharePoint 身份认证的域服务器已经是域控了,那么另一台AD也必须提升域功能级别为域控。

打开Active Directory域和信任关系à选中Domainà提升域功能级别

  • DNS或者NETBIOS能够互相被解析,即 Ping 域名可以解析成对应的IP 地址或者nslookup域名也可以成功诊断DNS结构信息。要实现这个有3种方式——

1.DNS指向

设置IP地址,使其DNS指向目标服务器,如下所示:

记得刷新DNS解析缓存

2.建立条件转发器

在Contoso.com DNS中新建条件转发器,记得刷新

3.建立辅助区域

3.1.打开mintcode.local(192.168.16.7)DNS

3.2.选中mintcode.localà属性à允许区域传送à只允许到下列服务器

3.3.打开contoso.com(192.168.123.14)DNS

3.4.新建辅助区域

3.5.指定主服务器IP地址

上述3中实现方式,采用任意一种实现方式都行。不管怎样实现,最总的目的都是相同的,能将域名解析成IP地址,如下所示:

建立域之间的信任关系

怎样建立域之间的信任关系,One-Way、Two-Way,微软给了详细的操作步骤(http://technet.microsoft.com/zh-cn/library/cc816837(v=WS.10).aspx)。

按照上述的拓扑图,需要Mintcode.local中的用户能够在Contoso.com域中认证,为此我需要建立一种One-Way的信任,即Contoso.com信任Mintcode.local。

有了上述的准备工作后,让我们来实现One-Way Trust吧,当然你也可以Two-Way,只不过在我的场景中One-Way足矣了。

  • 打开Active Directory域和信任关系à属性à信任选项卡à新建信任

  • 指定信任名称

  • 信任类型为外部信任

  • 信任方向为单向:外传,即指定域的用户可以在这个域中得到身份验证

  • 确定下信任方

  • 输入mintcode.local的用户名和密码

  • 选择身份验证范围

  • 成功创建信任关系

  • 信任创建完毕

  • 确认传出信任

  • 成功创建好了信任关系

  • 创建成功后,在信任选项卡中已成功创建了外向信任mintcode.local

  • 登陆mintcode.local(192.168.16.7),检查下是否已经自动创建了内向信任(contoso.com)

自定义SharePoint PeoplePicker

结束了吗,当然没,可以做的更好,对人员选择器进行搜索的定制,使其在指定的域中抓取人员信息。

在SharePoint Server上键入如下命令行:

微软也给了很好的解释,详见http://technet.microsoft.com/en-us/library/gg602075(v=office.15).aspx

最后记得同步下User Profile Service,在Populate Containers把mintcode.local包含进来(怎样配置UPS,这是个繁琐的事,详见后续文章

小结

根据不同的场景,你可以选择一个或者多个AD域服务器,优势利弊,不做过多分析,根据实际的需求来即可。

SharePoint 2010、2013多个域之间互信(Domain Trust)的设计与实施的更多相关文章

  1. [转]SharePoint 2010/2013 使用Javascript来判断权限的三种方法

    本文讲述SharePoint 2010/2013 使用Javascript来判断权限的三种方法的实现方式及其优缺点. 1. 根据用户所在的SharePoint组(比如用户在Leader 组才可以使用审 ...

  2. SharePoint 2010/2013 隐藏的速度下拉菜单列表项

    SharePoint 2010/2013 隐藏的速度下拉菜单列表项         有时为了防止一些用户编辑列表项.需要隐藏下拉菜单列表项.,仅仅须要添加一个内容编辑器控件,将css代码写入其HTML ...

  3. SharePoint 2010/2013: List view Lookup threshold uncovered

    SharePoint with Large lists is common scenario in any Sharepoint deployment. While there are Several ...

  4. 解决在SharePoint 2010/2013部署自己的Event Handler后,抛出”不能载入被引用的第三方的程序集"的问题

    今天在处理客户的一个问题的时候.我们已经把我们SharePoint EventHandler依赖的第三方的TIBCO.EMS.dll注冊到GAC里面了,可是日志里面还是抛出了不能载入被引用的第三方的程 ...

  5. SharePoint 2010/2013/2016内容数据库与网站集的关系

    总得来说,内容数据库和网站集的关系是: 一个内容数据库里可以有多个网站集,但是一个网站集只能存在于一个内容数据库. 那么问题来了 问题1:我能否在创建网站集时指定内容数据库呢?或者说我能在指定的内容数 ...

  6. Backup and restore of FAST Search for SharePoint 2010

    一个同事问我一个问题: 如果FAST Search for SharePoint 2010被full restore到了一个之前的时间点, 那么当FAST Search重新开始一个增量爬网的时候, 会 ...

  7. SharePoint 2010 开发人员学习指南

    kaneboy 翻译,一切内容版权归 Microsoft.1. SharePoint 开发起步教程 这是一个为准备进入到 SharePoint 开发领域的 .NET 开发人员所准备的免费在线学习课程. ...

  8. SharePoint 2010中重置windows 活动目录(AD)域用户密码的WebPart(免费下载)

    由于SharePoint 2013推出不久,并非所有的企业都会升级到SharePoint 2013的,毕竟升级不是打打补丁这么简单,更多的企业还是使用Sharepoint 2010版本的,因此本人自行 ...

  9. 安装InfoPath 2013后 SharePoint 2010 出现 “找不到 Microsoft.Office.InfoPath, Version=14.0.0....” 的错误的解决方案

    1. 症状 您的SharePoint 2010的服务器是不是最近一直出现这个错误呢? Could not load file or assembly 'Microsoft.Office.InfoPat ...

随机推荐

  1. Android开发点滴 - 实现层级式导航(API 16+)

    在Jelly Bean(API 16)以前,为了实现顶部的导航菜单,程序员们不得不手工写代码, 神马在OnCreate啊,神马onOptionsItemSelected啊,但是,现在一切都是浮云了. ...

  2. SQL从一个表查询数据插入/更新到另一个表

    示例一: 从数据库表A中查询出数据插入到数据库表B 从数据库DataBaseA的表TDA中查询出数据插入到数据库DataBaseB的表TDB insert into [DataBaseA].[dbo] ...

  3. oracle数据分组

    一,什么是分组函数 分组函数作用于一组数据,并对一组数据返回一个值 二,分组函数类型 Avg ,count,max,min,stddev(标准方差),sum. 函数名称 函数描述 Count 返回找到 ...

  4. 微信小程序 - tab选项卡(组件)

    更新日期: 2019/3/5:首次发布,默认下标“curIndex”超出红色提示 2019/3/7:增加tabName,可自定义数据标题名称(详情看示例) 支持单个/多个tab(显示/隐藏) 参数: ...

  5. 微信小程序 - 怎样合理设计小程序

    假如我们无意中,把腾讯地图或者高德地图的管理Key删了! 关于定位的一切相关模块就都会报废! 接着呢?客户会找你,对你公司信任感下降,一系列问题接踵而来 最好的办法就是先预留key后台管理 “随时可以 ...

  6. C语言读取 未知长度 的矩阵

    1.确定矩阵行数: 使用每次读取一行函数fgets - row = 0; while(fgets(buf, buflen, fp) != NULL) row++; -   2.确定矩阵列数: - re ...

  7. 创建一个入门的JAVA WEB站点(REST JERSEY)

    最近一直在看TOMCAT,想要自己创建一个小WEB站点,有不想要部署在其他的容器内这是一个不错的学习对象. 一.选择合适的模版 mvn archetype:generate -DarchetypeCa ...

  8. VB控件 与 引用或部件

    序号 控件名 部件或引用 用途 2 ActiveMovie Microsoft ActiveMovie Control    3 ADODB Windows ADO Ext. 2.8 for DLL ...

  9. 请用js去除字符串空格?

    方法一:使用replace正则匹配的方法 去除所有空格: str = str.replace(/\s*/g,""); 去除两头空格: str = str.replace(/^\s* ...

  10. http 请求报文

    1.报文 2.http请求方法 restful接口 post:创建 put:更新