在现实的业务场景中,有时为了更好的管理域用户和服务。我们往往会创建多个分散式的域,每个域的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. Discuz常见小问题-如何安装模板,使用模板

    点击应用,获取更多插件 在模板页面中选择需要的类型(需要注册一个账号) 找好一个模板之后,点击安装应用(一般也会有演示) 安装完成之后可以在界面-风格管理中选择安装好的模板,选中新的模板,点击提交即可 ...

  2. HtmlAgilityPack 详细使用

    使用HtmlAgilityPack抓取网页数据 http://www.cnblogs.com/yxlblogs/p/3499420.html http://www.cnblogs.com/xdpxyx ...

  3. LeetCode Linked List Cycle II 和I 通用算法和优化算法

    Linked List Cycle II Given a linked list, return the node where the cycle begins. If there is no cyc ...

  4. ACID、Data Replication、CAP与BASE

    ACID 在传数据库系统中,事务具有ACID 4个属性. (1) 原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行. (2) 一致性(Consiste ...

  5. bash shell 获取当前正在执行脚本的绝对路径

    https://my.oschina.net/leejun2005/blog/150662 http://blog.csdn.net/10km/article/details/51906821 如题, ...

  6. J2EE开发之三种项目架构

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6285069.html 在我们开发项目时,一般都要先划分好哪些是与用户交互的,哪些用来处理请求/数据等等,这些过 ...

  7. PCI(Payment Card Industry)合规

     PCI-DSS(Payment Card Industry-Data Security Standard) 1.构建并维护安全的网络 2.保护持卡人数据 3.维护漏洞管理程序 4.执行严格的访问控制 ...

  8. 浅谈Spring的PropertyPlaceholderConfigurer

    大型项目中,我们往往会对我们的系统的配置信息进行统一管理,一般做法是将配置信息配置与一个cfg.properties的文件中,然后在我们系统初始化的时候,系统自动读取cfg.properties配置文 ...

  9. Servlet学习(一)

    Servlet的运行过程 Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后: ①Web服务器首先检查是否已经装载并创建了该Servlet的实例对象.如果是,则直 ...

  10. ssh无法登录,提示Pseudo-terminal will not be allocated because stdin is not a terminal.

    当远程通过ssh登录主机时出现Pseudo-terminal will not be allocated because stdin is not a terminal. 错误   字面意思是伪终端将 ...