将使用经典模式身份验证的 SharePoint Foundation 2010 Web 应用程序转换为使用基于声明的身份验证
执行以下过程中的步骤,以使用 Windows PowerShell 将现有 Web 应用程序转换为基于声明的身份验证。
将 Web 应用程序转换为基于声明的身份验证
-
确认您满足以下最低要求。
-
在“开始”菜单上,单击“所有程序”。
-
单击“Microsoft SharePoint 2010 产品”。
-
单击“SharePoint 2010 Management Shell”。
-
在 Windows PowerShell 命令提示符处,键入以下内容:
$WebAppName = "http:// yourWebAppUrl" $account = "yourDomain\yourUser" $wa = get-SPWebApplication $WebAppName Set-SPwebApplication $wa -AuthenticationProvider (New-SPAuthenticationProvider) -Zone Default
-
出现“迁移”提示时,请单击“是”继续。
-
在 Windows PowerShell 命令提示符处,键入以下内容以将用户设置为网站的管理员:
$wa = get-SPWebApplication $WebAppName $account = (New-SPClaimsPrincipal -identity $account -identitytype 1).ToEncodedString()
-
在 Windows PowerShell 命令提示符处,键入以下内容以将策略配置为使用户具有完全访问权限:
$zp = $wa.ZonePolicies("Default") $p = $zp.Add($account,"PSPolicy") $fc=$wa.PolicyRoles.GetSpecialRole("FullControl") $p.PolicyRoleBindings.Add($fc) $wa.Update()
-
在 Windows PowerShell 命令提示符处,键入以下内容以执行用户迁移:
$wa = get-SPWebApplication $WebAppName $wa.MigrateUsers($true)
注意: |
---|
我们建议您在执行命令行管理任务时使用 Windows PowerShell。Stsadm 命令行工具已被弃用,仍然包含该工具是为了支持与之前产品版本的兼容性。 |
其他迁移准则
执行上面的过程中的步骤后,可能会遇到一个或更多个以下问题。
- 提交有效凭据的用户可能会收到通知,提示他们没有权限。如果遇到这种情况,则 Web 应用程序的
portalsuperuseraccount
属性和portalsuperreaderaccount
属性可能在迁移前已配置。在这种情况下,必须更新portalsuperuseraccount
属性和portalsuperreaderaccount
属性以使用新的基于声明的帐户名。迁移后,可在迁移的 Web 应用程序的 Web 应用程序策略中找到新的基于声明的帐户名。 - 如果迁移后未调用现有警报,则可能必须删除并重新创建警报。
- 如果迁移后搜索爬网不起作用,请确保搜索爬网帐户列出了新的转换后帐户名。如果未列出新的转换后帐户名,则必须手动为爬网帐户创建新策略。