在现实的业务场景中,有时为了更好的管理域用户和服务。我们往往会创建多个分散式的域,每个域的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. ScrollView嵌套ListView只显示一行解决方案

    在ScrollView里边嵌套了个ListView,后边就发现数据源里好多数据,但ListView只是显示1行. 各种debug,打log,数据什么的都没问题,上网百度了下,发现原来是ScrollVi ...

  2. Internet传输协议-TCP

    http://phei.eefocus.com/book/08-07/473781276058574.html http://www.eefocus.com/communication/210643 ...

  3. JAVA连接Mysql事例

    一.在Eclipse里面创建一个JAVA项目 相关连接: http://www.cnblogs.com/liqiu/p/3407016.html 二.导入mysql-connector-java-5. ...

  4. Python有关模块学习记录

    1 pandas numpy模块 首先安装搭建好jupyter notebook,运行成功后的截图如下: 安装使用步骤(PS:确定Python安装路径和安装路径里面Scripts文件夹路径已经配置到环 ...

  5. Java多线程之创建线程的三种方式比较

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6560057.html  一:继承Thread类创建线程 1:继承Thread类定义线程子类: 2:重写run( ...

  6. 腾讯云ubuntu搭建jdk

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6377878.html 在购买了腾讯云ubuntu主机后,需要手动搭建java环境.安装tomcat等.ubun ...

  7. 在 Vim 中使用 pydiction 对 Python 进行代码补全

    Pydiction 允许你在 Vim 中实现 TAB 代码补全, 可以补全的内容包括:标准的.自定义的,以及第三方模块和包.外加关键字.BIFs,和字符串. Pydiction 由 3 个主要文件构成 ...

  8. 如何删除Android studio中的注解代码

    http://blog.csdn.net/maimiho/article/details/52195081 先看下上面的文章.只是换下正则表达式即可 正则表达式:/\*[\s\S ]*

  9. Java之创建对象>5.Avoid creating unnecessary objects

    String s = new String("stringette"); // DON'T DO THIS! The improved version is simply the ...

  10. Spark ML 几种 归一化(规范化)方法总结

    规范化,有关之前都是用 python写的,  偶然要用scala 进行写, 看到这位大神写的, 那个网页也不错,那个连接图做的还蛮不错的,那天也将自己的博客弄一下那个插件. 本文来源 原文地址:htt ...