SPPermissionCollection 类
请注意:此 API 现在已过时。
Use the new SPRoleDefinition and SPRoleAssignment classes instead, to define roles and to assign users to them. For more information, see Changes in the Authorization Object Model. (In Windows SharePoint Services 2.0, SPRole represented a collection of SPPermission objects and is maintained for backward compatibility.)
继承层次结构
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.SPBaseCollection
Microsoft.SharePoint.SPPermissionCollection
命名空间: Microsoft.SharePoint
程序集: Microsoft.SharePoint(位于 Microsoft.SharePoint.dll 中)
语法
声明
<ObsoleteAttribute("Use the SPRoleAssignmentCollection class instead")> _
Public Class SPPermissionCollection _
Inherits SPBaseCollection
用法
Dim instance As SPPermissionCollection
[ObsoleteAttribute("Use the SPRoleAssignmentCollection class instead")]
public class SPPermissionCollection : SPBaseCollection
备注
使用SPList或SPWeb类的Permissions属性可返回列表或网站的权限的集合。若要创建一个权限,请使用SPPermissionCollectionAdd或AddCollection方法。
使用索引器从集合中返回单个权限。例如,如果集合分配给名为collPermissions的变量中,使用 C# 中的collPermissions[index]或collPermissions(index)在 Visual Basic 中,其中index是集合中的权限的索引号,或者用户或组具有对列表或网站的权限的SPMember对象。
示例
下面的代码示例使用SPPermissionCollection类要显示的名称和每个用户都有权访问指定列表的权限。该示例循环访问网站的所有用户通过和列表 ; 的所有权限如果用户 ID 与列表权限的成员 ID 相匹配,将显示用户的信息。
此示例要求对**[Microsoft.SharePoint]和[Microsoft.SharePoint.Utilities]**命名空间using指令 (在 Visual Basic 中的Imports )。
Dim siteCollection As SPSite = SPContext.Current.Site
Dim site As SPWeb = siteCollection.AllWebs("Site_Name")
Dim list As SPList = site.Lists("List_Name")
Dim perms As SPPermissionCollection = list.Permissions
Dim users As SPUserCollection = site.Users
Dim user As SPUser
For Each user In users
Dim perm As SPPermission
For Each perm In perms
If user.ID = perm.Member.ID Then
Response.Write("User: " & SPEncode.HtmlEncode(user.Name) _
& " Permissions: " & perm.PermissionMask.ToString()
& "<BR>")
End If
Next perm
Next user
SPSite oSiteCollection = SPContext.Current.Site;
using(SPWeb oWebsite = oSiteCollection.AllWebs["Site_Name"])
{
SPList oList = oWebsite.Lists["List_Name"];
SPPermissionCollection collPermissions = oList.Permissions;
SPUserCollection collUsers = oWebsite.Users;
foreach (SPUser oUser in collUsers)
{
foreach (SPPermission oPermission in collPermissions)
{
if (oUser.ID == oPermission.Member.ID)
{
Response.Write("User: " +
SPEncode.HtmlEncode(oUser.Name) +
" Permissions: " +
oPermission.PermissionMask.ToString() +
"<BR>");
}
}
}
}
备注
Certain objects implement the IDisposable interface, and you must avoid retaining these objects in memory after they are no longer needed. For information about good coding practices, see Disposing Objects.
线程安全性
该类型的任何公共 静态 (已共享 在 Visual Basic 中) 成员都是线程安全的。不保证任何实例成员都是线程安全的。