SharePoint 2013 User Profile Services之跨场发布
在之前博客中已经描述了User Profile的两种配置场景,这篇博客将详细介绍微软官方推荐的配置方法。
测试环境的架构可以参考之前的博客内容,这里就不做介绍了,直接切入主题。
1. 在sp-farm1中创建User Profile Services服务应用程序。创建的过程因为不是这篇博客的重点就不做过多描述。
2. 配置AD的连接器,将contoso.com中需要加入网站的用户,全部同步到User Profile中,在同步之前需要确认user Profile同步服务是否启动,如果没有启动,将这个服务启动,这个启动过程会比较慢,启动的要看机器的性能,请耐心等待。
3. 配置个人网站,可参考http://technet.microsoft.com/zh-cn/library/ee624362.aspx,如果你还是看不明白,那你可以使用向导的方式添加User Profile Services。这样我的网站功能自动就会被创建了。
4.配置其他场与User Profile Services场的互相信任。微软官方叫这两个场为 PublishingFarm(发布场)和ConsumingFarm(消费场),我看到所有的相关的内容中也都用这个名字,索性我也用这名字来称呼它们,免得弄混。我的发布场是sp-farm1,消费场是sp-farm2。
5.在配置互相信任之前,需要将两个场的证书导出。使用下面的PowerShell 命令分别在两个场中导出证书。在运行所有PowerShell命令完成时,都不要关闭PowerShell窗口,因为很多变量会多次引用。
a. 在消费场中运行
$rootCert = (Get-SPCertificateAuthority).RootCertificate
$rootCert.Export("Cert") | Set-Content <C:\ConsumingFarmRoot.cer> -Encoding byte
$stsCert = (Get-SPSecurityTokenServiceConfig).LocalLoginProvider.SigningCertificate
$stsCert.Export("Cert") | Set-Content <C:\ConsumingFarmSTS.cer> -Encoding byte
b.在发布场中运行
$rootCert = (Get-SPCertificateAuthority).RootCertificate
$rootCert.Export("Cert") | Set-Content <C:\PublishingFarmRoot.cer> -Encoding byte
6. 将消费场中导出到证书文件拷贝到发布场中,同时将发布场中的证书拷贝到消费场中。我建议大家使用剪切的方式,免得文件同时在一个目录下的时候会搞混。我第一次配置的时候没成功,可能就是因为证书弄混了。
7. 确认所有证书的正确性,是否正确的复制了证书。然后就需要配置服务场的信任关系了。
a.在消费场中运行,其中 "sp-farm1"这个名字,叫什么都可以,只要能区分出来这是什么。
$trustCert = Get-PfxCertificate "C:\PublishingFarmRoot.cer"
New-SPTrustedRootAuthority "sp-farm1" -Certificate $trustCert
b.在发布场中运行
$trustCert = Get-PfxCertificate <C:\ConsumingFarmRoot.cer>
New-SPTrustedRootAuthority "sp-farm2" -Certificate $trustCert
$stsCert = Get-PfxCertificate <c:\ConsumingFarmSTS.cer>
New-SPTrustedServiceTokenIssuer "sp-farm2" -Certificate $stsCert
$farmid = "<guid>"; #farmid是要消费场中运行PowerShell "Get-SPFarm | Select Id"可以取到。
$security = Get-SPTopologyServiceApplication | Get-SPServiceApplicationSecurity
$claimProvider = (Get-SPClaimProvider System).ClaimProvider
$principal = New-SPClaimsPrincipal -ClaimType http://schemas.microsoft.com/sharepoint/2009/08/claims/farmid -ClaimProvider $claimProvider -ClaimValue $farmid
Grant-SPObjectSecurity -Identity $security -Principal $principal -Rights "完全控制"
Get-SPTopologyServiceApplication | Set-SPServiceApplicationSecurity -ObjectSecurity $security
8. 到目前为止,我们配置服务器的互相信任,并为消费场设置了应用程序的控制权限。但要是实现关注功能,还是在做一些Power Shell命令
a. 在发布场中运行以下命令,其中realm是为了给发布场配置一个别名,也只能这么理解了。那一串00000003……的guid是固定值,不能变。
Set-SPAuthenticationRealm -realm "myrealm"
$sts=Get-SPSecurityTokenServiceConfig
$Realm=Get-SpAuthenticationRealm
$nameId = "00000003-0000-0ff1-ce00-000000000000@$Realm"
Write-Host "Setting STS NameId to $nameId"
$sts.NameIdentifier = $nameId
$sts.Update()
$c = Get-SPSecurityTokenServiceConfig
$c.AllowMetadataOverHttp = $true #needed if you are not using ssl
$c.AllowOAuthOverHttp=$true #needed if you are not using ssl
$c.Update()
iisreset
b. 在消费场中同样要执行一段类似的PowerShell
Set-SPAuthenticationRealm -realm "myrealm"
$sts=Get-SPSecurityTokenServiceConfig
$Realm=Get-SpAuthenticationRealm
$nameId = "00000003-0000-0ff1-ce00-000000000000@$Realm"
Write-Host "Setting STS NameId to $nameId"
$sts.NameIdentifier = $nameId
$sts.Update()
$c = Get-SPSecurityTokenServiceConfig
$c.AllowMetadataOverHttp = $true #needed if you are not using ssl
$c.AllowOAuthOverHttp=$true #needed if you are not using ssl
$c.Update()
iisreset
9.到这里还没有结束,因为在2013这个版本中,SharePoint使用OAuth协议,所以我们需要配置以下OAuth的信任节点。如果你配置过SharePoint 2013和Exchange2013,lync 2013的信任,对这个一定不陌生,话说之前配置 SharePoint网站邮箱时,也把我折磨的够呛啊。
a. 在消费场运行以下PowerShell命令。
New-SPTrustedSecurityTokenIssuer –MetadataEndpoint "http://sp-farm1/_layouts/15/metadata/json/1" –Name "sp-farm1.contoso.com" -RegisteredIssuerName $nameId
执行完成时输入个Y直接运行就ok。
b. 在发布场运行
New-SPTrustedSecurityTokenIssuer –MetadataEndpoint "http://sp-farm2/_layouts/15/metadata/json/1" –Name "sp-farm2.contoso.com" -RegisteredIssuerName $nameId
同样输入一个Y。
运行完成后,PowerShell命令就执行到此为止了。接下来要做的就是发布User Profile Services。
10. 通过管理中心进入到管理服务应用程序,找到user Profile Services,选中。确认选中后在Ribbon菜单中点击“发布”
11. 在弹出窗口中,选中“向其他场发布此服务应用程序”,这里就会看到说要不这个应用程序一定要做户型信任。点击这个链接就可以看到之前用PowerShell添加的服务器名称了。要是没有证明你PowerShell执行的不正确。
拷贝“发布的URL”那一串地址到一个txt文件,一会你会用的到。然后点击确定。
12. 发布已经完成了,接下来就是要在消费场中添加一个User Profile Services的链接了。打开消费场的管理中心,同样进入到管理服务应用程序页面。
点击ribbon上的连接。找到User Profile Services。
13. 在弹出窗口中输入之前拷贝出来的那一长串URL地址。就是发布出来User Profile Servies的地址,输入完以后点击确定。这个地方,可能会有些反应迟钝,点完以后没啥反应,别急等一会就好了。点完以后还会有一个确认画面,在那个画面中也会有一个确定要点一下,不过你会发现那个按钮是灰的根本点不了,这个时候你只要点一下页面中的User Profile Services的那个链接地址一下,就可以点确定。(我是没找到原因为什么要这样)。到这里User Profile Services的发布就完成了。
14. 我们需要注意一点,在没有User Profile Services的服务时,用户登录网站时(见图),新闻源,SkyDrive Pro,网站 是没有地。只有提供User Profile服务才会出现。
15. 到这里基本配置已经完成了,但你会发现你的消费场里,为啥还看不到 “新闻源、SkyDrive Pro”这些东西呢,原因是你需要在发布场中运行一下 用户配置文件同步。同步完成以后就会有了。用户登录以后点击新闻源就会跳转到发布场也就是sp-farm1场中创建个人站点。同样其他场要想使用User Profile Services需要使用同样的操作在来一遍。到此为止我们已将微软官方推荐的User Profile 服务配置完成了, 整个企业环境内就提供了一个 User Profile Services 实现了用户信息的统一管理。但你别高兴的太早。你点一下网站或文档的关注看一下。针对用户的关注是没有问题地,因为所有用户都在同一个场里,但你关注网站和文档的时候就会报错。因为他们不在一个场里。错误信息全部都是数据库报出来的,这也是我通过SharePoint Log文件中得到的信息,所以就开始针对数据库动手了。
16. 首先需要将消费场中的系统账户,添加到发布场中3个User Profile的数据库中并赋予Owner的权限。这一步很关键,如果不做这一步,关注功能就没戏了,当然如果你的两个场使用的同一个系统账户,那就没问题了。实际生产环境中基本也不会用同一个。
17. 需要在发布场防火墙中开启1433的端口,如果你的数据库端口换了,就开启你换的那个。推荐在生产环境中,更换1433的端口。
知道这里才算是大功告成。
找个用户点一下消费场的网站关注功能看看。如果能像图中标注那样,那证明你成功了。如果还有错误,你可以发邮件给我。我帮你分析下原因。
后面的一篇blog将介绍多个场中都有User Profile Services情况下将如何设置。当然如果你能根据这篇内容就配置出来第二个场景来,说明你已经清楚了跨场发布都在干些什么了。
参考文献
http://technet.microsoft.com/ZH-CN/library/ee704552.aspx
http://technet.microsoft.com/ZH-CN/library/ee704545.aspx
http://technet.microsoft.com/ZH-CN/library/ff700211.aspx
http://technet.microsoft.com/ZH-CN/library/jj992595.aspx
SharePoint 2013 User Profile Services之跨场发布的更多相关文章
- SharePoint 2013 User Profile Services之跨场设置
这段时间有个客户需要在不同SharePoint场中使用网站.文档和用户关注功能.但实际使用中发现默认的关注功能不能跨场使用,这也引出了我接下来的博客,我将在博客中详细描述整个过程. 因为“关注”功能是 ...
- SharePoint 2013 配置Excel Services
前言:本文主要介绍如何启用SharePoint 2013版本Excel Services服务,并配置Excel Web Access部件,使Excel文档可以显示在Web页面中. 简单说一下流程,Sh ...
- SharePoint 2013 Excel Services ECMAScript 示例之明日限行
前言:最近遇到一个“明日限行”的功能,北京的交通啊,这个不在今天讨论范围内,暂不吐槽,想想代码开发,还要写WebPart部署,很麻烦,而且部署服务器,需要领导审批,想绕过这个麻烦事儿,就想到客户端了, ...
- sharepoint 2013 reporting services 远程server返回错误: (500) 内部server错误。
在sharepoint 2013部署reporting services过程中,点击管理中心,server上的服务.系统配置.提示了一个错误: 远程server返回错误: (500) 内部server ...
- SharePoint 2013 入门教程
以下文章是自己在学习SharePoint的过程中,不断积累和总结的博文,现在总结一个目录,分享给大家.这个博客也是自己从SharePoint入门,到一个SharePoint开发的成长记录,里面记录的都 ...
- SharePoint 2013 入门教程--系列文章
转:http://www.cnblogs.com/jianyus/p/3381415.html 以下文章是自己在学习SharePoint的过程中,不断积累和总结的博文,现在总结一个目录,分享给大家.这 ...
- SharePoint 2013 入门教程 [不断更新~]
以下文章是自己在学习SharePoint的过程中,不断积累和总结的博文,现在总结一个目录,分享给大家.这个博客也是自己从SharePoint入门,到一个SharePoint开发的成长记录,里面记录的都 ...
- 在 SharePoint 2013 中针对地理位置字段创建地图视图
在 SharePoint 2013 中针对地理位置字段创建地图视图 了解如何通过在 SharePoint 2013 列表中使用地图视图来显示位置信息.您可以通过 SharePoint 用户界面 (UI ...
- 关于SharePoint 2013 UserProfile跨场的几点注意
1.跨场中需要以下几个Service实例,没有这几个会遇到各种问题 2.发布场和消费场同时需要创建Host站点,否则消费场的SiteFeed无法使用. 3.跨场关注的问题请参考:http://www. ...
随机推荐
- 轻量级前端MVVM框架avalon - 整体架构
官网提供架构图 单看这个图呢,还木有说明,感觉有点蛋疼,作者的抽象度太高了,还好在前面已经大概分析过了执行流程 如图 左边是View视图,我们就理解html结构,换句话就是说用户能看到的界面,渲染页面 ...
- TSQL语句
1.创建数据库create database test3;2.删除数据库drop database test3;3.创建表create table test( code varchar(20), ...
- .NET平台机器学习组件-Infer.NET(三) Learner API—数据映射与序列化
所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 微软Infer.NET机器学习组件:http://www.cnblo ...
- Windows 使用 Yeoman generators 创建 ASP.NET 应用程序
上一篇:<Windows 搭建 .NET 跨平台环境并运行应用程序> 阅读目录: Install Node.js Install yeoman-generators Create ASP. ...
- 用jekyll制作高大上的网站(一)——安装与配置
很多人会制作自己的主页,页面美观简洁,一直很在意是怎么做的. 最近公司需要做个文档库的主页,就研究了一些开源的工具,后面发现了jekyll(读杰克尔),将纯文本转换为静态博客网站. 一.Ruby je ...
- 浅谈2D游戏设计模式--游戏剧情设计(1)
博主不才,人生有2大爱好,写程序和玩游戏,本人玩的又是一款2D的在旁人看来弱智的网络游戏. 这款游戏在中国的名称叫做冒险岛,不知道园子里有没有人玩过. 我打算有空的话,就把我玩游戏中的心得和程序结合起 ...
- Alg-4:算法可视化tiny库的实现
好吧,准备好好实践一下<算法>这本书的内容的,有点讨厌的是这本书是以Java作为示例语言的(好吧,我承认我有语言偏见,Java就是臭).其中有一个Std库,其中涉及到简化输入输出.随机数生 ...
- Js apply方法详解
我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家 ...
- MyEclipse 2014 GA 和 MyEclipse 2015 CI 和 Eclipse Luna 最新最全下载地址
官方下载地址: Eclipse 标准版 x86 http://mirror.hust.edu.cn/eclipse//technology/epp/downloads/release/luna/R/e ...
- jQuery省市区三级联动插件
体验效果:http://hovertree.com/texiao/bootstrap/4/支持PC和手机移动端. 手机扫描二维码体验效果: 代码如下: <!DOCTYPE html> &l ...