del método SPPermissionCollection.DoesUserHavePermissions
NOTA: esta API está ahora obsoleta.
Devuelve un valor que indica si el usuario actual tiene los permisos especificados.
Espacio de nombres: Microsoft.SharePoint
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
<ObsoleteAttribute("Use the SPRoleAssignmentCollection class instead")> _
Public Function DoesUserHavePermissions ( _
permissionMask As SPRights _
) As Boolean
'Uso
Dim instance As SPPermissionCollection
Dim permissionMask As SPRights
Dim returnValue As Boolean
returnValue = instance.DoesUserHavePermissions(permissionMask)
[ObsoleteAttribute("Use the SPRoleAssignmentCollection class instead")]
public bool DoesUserHavePermissions(
SPRights permissionMask
)
Parámetros
permissionMask
Tipo: Microsoft.SharePoint.SPRightsUn valor de SPRights que especifica los permisos.
Valor devuelto
Tipo: System.Boolean
true si el usuario actual tiene los permisos especificados; de lo contrario, se produce una excepción de acceso denegado y solicita al usuario para la autenticación.
Comentarios
Para evitar que el usuario que se le pida la autenticación mediante el método DoesUserHavePermissions , puede establecer la propiedad CatchAccessDeniedException de la SPSite o la clase de SPVirtualServer a false y usar el control de errores para capturar la excepción.
Ejemplos
En el ejemplo de código siguiente se recorre en iteración todas las listas de un sitio y se usa el método DoesUserHavePermissions para especificar que el usuario actual tiene permisos de listas.
Dim siteCollection As New SPSite("http://Server_Name")
Dim site As SPWeb = siteCollection.OpenWeb()
siteCollection.CatchAccessDeniedException = False
Dim lists As SPListCollection = site.Lists
lists.ListsForCurrentUser = True
Dim listCount As Integer = lists.Count
Dim i As Integer
For i = 0 To listCount - 1
Response.Write(("<br>" + lists(i).Title.ToString() + " : "))
Try
If lists(i).Permissions.DoesUserHavePermissions
(SPRights.ViewListItems) Then
Response.Write("Has Permissions")
End If
Catch ex As System.UnauthorizedAccessException
Response.Write(ex.Message.ToString())
End Try
Next i
using(SPSite oSiteCollection = new SPSite("http://Server_Name"))
{
SPWeb oWebsite = siteCollection.OpenWeb();
oSiteCollection.CatchAccessDeniedException = false;
SPListCollection collLists = oWebsite.Lists;
collLists.ListsForCurrentUser = true;
int intListCount = collLists.Count;
for(int intIndex=0; intIndex<intListCount; intIndex++)
{
Response.Write("<br>" + colLLists[intIndex].Title.ToString()
+ " : ");
try
{
if(collLists[intIndex].Permissions.DoesUserHavePermissions
(SPRights.ViewListItems))
{
Response.Write("Has Permissions");
}
}
catch(System.UnauthorizedAccessException ex)
{
Response.Write(ex.Message.ToString());
}
}
}
Nota
Determinados objetos implementan la interfaz de IDisposable y, a continuación, se debe evitar la conservación de estos objetos en la memoria que ya no se necesitan. Para obtener información acerca de buenas prácticas de codificación, vea Disposing Objects.