我正在尝试访问用户权限 > 使用 sharepoint API 创建子站点启用/禁用功能。如何访问 Web 应用程序的用户权限?
如果您在 sharepoint 2010 中转到 CA 并单击 Web 应用程序,然后在功能区中选择用户权限,则会显示许多复选框。在站点许可下,可以选择创建子站点。这正是我正在寻找的。
我正在尝试访问用户权限 > 使用 sharepoint API 创建子站点启用/禁用功能。如何访问 Web 应用程序的用户权限?
如果您在 sharepoint 2010 中转到 CA 并单击 Web 应用程序,然后在功能区中选择用户权限,则会显示许多复选框。在站点许可下,可以选择创建子站点。这正是我正在寻找的。
基于此参考:在 WebApplication.RightsMask 中切换权限)
电源外壳:
$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
)。