【发布时间】:2017-09-05 14:00:12
【问题描述】:
我正在尝试访问用户权限 > 使用 sharepoint API 创建子站点启用/禁用功能。如何访问 Web 应用程序的用户权限?
如果您在 sharepoint 2010 中转到 CA 并单击 Web 应用程序,然后在功能区中选择“用户权限”,则会显示许多复选框。在站点许可下,可以选择创建子站点。这正是我正在寻找的。
【问题讨论】:
标签: sharepoint-2010
我正在尝试访问用户权限 > 使用 sharepoint API 创建子站点启用/禁用功能。如何访问 Web 应用程序的用户权限?
如果您在 sharepoint 2010 中转到 CA 并单击 Web 应用程序,然后在功能区中选择“用户权限”,则会显示许多复选框。在站点许可下,可以选择创建子站点。这正是我正在寻找的。
【问题讨论】:
标签: sharepoint-2010
基于此参考:Toggle permission in WebApplication.RightsMask)
Powershell:
$webApp = Get-SPWebApplication -Identity http://mywebapp
$allowSubsites = $false
$newPermissions=$null
if ($allowSubsites){
$newPermissions=[Microsoft.SharePoint.SPBasePermissions]($webApp.RightsMask -bor [Microsoft.SharePoint.SPBasePermissions]::ManageSubWebs)
}
else
{
$newPermissions=[Microsoft.SharePoint.SPBasePermissions]($webApp.RightsMask -band [System.Int64](-bnot ([Microsoft.SharePoint.SPBasePermissions]::EmptyMask -bor [Microsoft.SharePoint.SPBasePermissions]::ManageSubWebs)))
}
$webApp.RightsMask = $newPermissions
$webApp.Update()
C#:
SPWebApplication application = sourceSite.WebApplication;
application.RightsMask = application.RightsMask | SPBasePermissions.ManageSubwebs;
application.Update();
【讨论】:
Web 应用程序 (SPWebApplication) 本身没有每个用户的权限。最高级别(就最小粒度设置而言)是网站集 (SPSiteCollection)。
【讨论】: