SPPermissionCollection.DoesUserHavePermissions method
NOTE: This API is now obsolete.
Retorna um valor que indica se o usuário atual tem permissões especificadas.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaração
<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
Type: Microsoft.SharePoint.SPRightsUm valor de SPRights que especifica as permissões.
Valor retornado
Type: System.Boolean
true se o usuário atual possui as permissões especificadas; Caso contrário, gera uma exceção de acesso negado e solicita ao usuário para autenticação.
Comentários
Para impedir que o usuário seja solicitado para autenticação pelo método DoesUserHavePermissions , você pode definir a propriedade de CatchAccessDeniedException a SPSite ou a classe de SPVirtualServer para false e usar tratamento de erro para capturar a exceção.
Examples
O exemplo de código a seguir itera em todas as listas de um site e usa o método DoesUserHavePermissions para especificar listas para as quais o usuário atual tem permissões.
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());
}
}
}
Dica
Determinados objetos implementam a interface IDisposable , e você deve evitar reter esses objetos na memória depois que eles não são mais necessários. Para obter informações sobre boas práticas de codificação, consulte Disposing Objects.