SharePoint 2010、2013多个域之间互信(Domain Trust)的设计与实施
在现实的业务场景中,有时为了更好的管理域用户和服务。我们往往会创建多个分散式的域,每个域的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)的设计与实施的更多相关文章
- [转]SharePoint 2010/2013 使用Javascript来判断权限的三种方法
本文讲述SharePoint 2010/2013 使用Javascript来判断权限的三种方法的实现方式及其优缺点. 1. 根据用户所在的SharePoint组(比如用户在Leader 组才可以使用审 ...
- SharePoint 2010/2013 隐藏的速度下拉菜单列表项
SharePoint 2010/2013 隐藏的速度下拉菜单列表项 有时为了防止一些用户编辑列表项.需要隐藏下拉菜单列表项.,仅仅须要添加一个内容编辑器控件,将css代码写入其HTML ...
- SharePoint 2010/2013: List view Lookup threshold uncovered
SharePoint with Large lists is common scenario in any Sharepoint deployment. While there are Several ...
- 解决在SharePoint 2010/2013部署自己的Event Handler后,抛出”不能载入被引用的第三方的程序集"的问题
今天在处理客户的一个问题的时候.我们已经把我们SharePoint EventHandler依赖的第三方的TIBCO.EMS.dll注冊到GAC里面了,可是日志里面还是抛出了不能载入被引用的第三方的程 ...
- SharePoint 2010/2013/2016内容数据库与网站集的关系
总得来说,内容数据库和网站集的关系是: 一个内容数据库里可以有多个网站集,但是一个网站集只能存在于一个内容数据库. 那么问题来了 问题1:我能否在创建网站集时指定内容数据库呢?或者说我能在指定的内容数 ...
- Backup and restore of FAST Search for SharePoint 2010
一个同事问我一个问题: 如果FAST Search for SharePoint 2010被full restore到了一个之前的时间点, 那么当FAST Search重新开始一个增量爬网的时候, 会 ...
- SharePoint 2010 开发人员学习指南
kaneboy 翻译,一切内容版权归 Microsoft.1. SharePoint 开发起步教程 这是一个为准备进入到 SharePoint 开发领域的 .NET 开发人员所准备的免费在线学习课程. ...
- SharePoint 2010中重置windows 活动目录(AD)域用户密码的WebPart(免费下载)
由于SharePoint 2013推出不久,并非所有的企业都会升级到SharePoint 2013的,毕竟升级不是打打补丁这么简单,更多的企业还是使用Sharepoint 2010版本的,因此本人自行 ...
- 安装InfoPath 2013后 SharePoint 2010 出现 “找不到 Microsoft.Office.InfoPath, Version=14.0.0....” 的错误的解决方案
1. 症状 您的SharePoint 2010的服务器是不是最近一直出现这个错误呢? Could not load file or assembly 'Microsoft.Office.InfoPat ...
随机推荐
- PPT模板中的”书签”
引言 在项目中生成文档报告经常需要word中,其中的关键就是书签,通过定位和替换书签中的值来达到生成定制的报告(详见Word模板中的表格处理):但在PPT中却没有书签这个概念,所以,不能采用这种方式. ...
- 视图控制器生命周期中各个重要的方法(Swift) (Important Methods during the Lifecycle of a View Controller)
1. init(coder:) 它是视图控制器从故事板创建实例的默认初始化函数.(It is the initializer for UIViewController instances create ...
- jquery ready方法实现原理
先看这两句代码: window.addEventListener('load',loaded,false); document.addEventListener('DOMContentLoaded', ...
- jQuery 超屏加载
jQuery 超屏加载,当文档超出屏幕的高度时,加载最新下个列数据 $(window).scroll(function () { var height = $(document).height(); ...
- Atlas系列一:【已解决】error while loading shared libraries: libcrypto.so.6: cannot open shared object file: No such file or directory
1:Atlas的安装 https://github.com/Qihoo360/Atlas/wiki/Atlas的安装 2: [root@localhost bin]# ./mysql-proxyd t ...
- E437: terminal capability "cm" required 错误出现的原因和解决方法
E437: terminal capability "cm" required 错误: 出现这个问题原因是没有配置export TERM=xterm 执行:export TERM= ...
- django之创建第9个项目-管理后台admin
django之创建第9个项目-管理后台admin配置 1.配置setting文件INSTALLED_APPS = ( 'django.contrib.auth', 'django.cont ...
- python 模块之os.path模块
# -*- coding: cp936 -*- #python 27 #xiaodeng #python 模块之os.path模块 #http://www.cnblogs.com/dkblog/arc ...
- maven pom文件结构简析
要使用maven,入门的最好办法就是在myeclipse中直接新建一个maven项目,同时勾选create a simple project选项,这样能快速创建一个简单的默认类型的符合maven默认结 ...
- Tomcat服务器版本号泄露-低危漏洞修复
一.问题描述Tomcat报错页面泄漏Apache Tomcat/7.0.52相关版本号信息,是攻击者攻击的途径之一.因此实际当中建议去掉版本号信息.二.解决办法 1.进入到tomcat/lib目录下, ...