del método Security.CheckUserProjectPermissions
Comprueba si el usuario actual tiene uno o varios de los permisos de categoría de seguridad especificado para un proyecto específico.
Espacio de nombres: WebSvcSecurity
Ensamblado: ProjectServerServices (en ProjectServerServices.dll)
Sintaxis
'Declaración
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Security/CheckUserProjectPermissions", RequestNamespace := "https://schemas.microsoft.com/office/project/server/webservices/Security/", _
ResponseNamespace := "https://schemas.microsoft.com/office/project/server/webservices/Security/", _
Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Function CheckUserProjectPermissions ( _
projectUid As Guid, _
categoryPermissionUids As Guid() _
) As Boolean()
'Uso
Dim instance As Security
Dim projectUid As Guid
Dim categoryPermissionUids As Guid()
Dim returnValue As Boolean()
returnValue = instance.CheckUserProjectPermissions(projectUid, _
categoryPermissionUids)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Security/CheckUserProjectPermissions", RequestNamespace = "https://schemas.microsoft.com/office/project/server/webservices/Security/",
ResponseNamespace = "https://schemas.microsoft.com/office/project/server/webservices/Security/",
Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public bool[] CheckUserProjectPermissions(
Guid projectUid,
Guid[] categoryPermissionUids
)
Parámetros
projectUid
Tipo: System.GuidEl GUID del proyecto.
categoryPermissionUids
Tipo: []Una matriz de uno o más permisos de categoría GUID.
Valor devuelto
Tipo: []
Una matriz de valores de Boolean que se corresponden con los permisos de categoría de seguridad del usuario actual para el proyecto.
Comentarios
CheckUserProjectPermissions ajusta una llamada a CheckUserObjectPermissions. Para comprobar un permiso de categoría única para un proyecto, puede utilizar CheckUserProjectPermissions. Comprobación de un permiso de categoría de otro usuario en un proyecto requiere el uso de suplantación para iniciar sesión como ese usuario.
Para el parámetro categoryPermissionUids , use la estructura de PSSecurityCategoryPermission para obtener los GUID para los permisos de categoría predeterminada o use ReadCategoryPermissions para obtener los GUID para los permisos de categoría personalizada.
Permisos de Project Server
Permiso |
Descripción |
---|---|
Permite que un usuario inicie sesión en Project Server. Permiso global. |
Ejemplos
En el siguiente ejemplo se comprueba si el usuario actual tiene permisos de tres specificcategory para un proyecto existente. Para obtener información adicional y una aplicación de ejemplo completo, vea Uso de métodos de seguridad en la interfaz PSI.
using System;
using System.Net;
using PSLibrary = Microsoft.Office.Project.Server.Library;
. . .
CookieContainer cookiecontainer = new CookieContainer();
SvcSecurity.Security security = new SvcSecurity.Security();
security.Url = "https://ServerName/ProjectServerName/_vti_bin/psi/security.asmx";
security.CookieContainer = cookiecontainer;
security.Credentials = System.Net.CredentialCache.DefaultCredentials;
// Set the GUID for an existing project.
Guid projectUid = new Guid("BC323C21-B7E4-4631-AF99-C44E5C52BA4E");
Guid[] permissionChecks = {
PSLibrary.PSSecurityCategoryPermission.BuildTeamOnProject,
PSLibrary.PSSecurityCategoryPermission.SaveProtectedBaseline,
PSLibrary.PSSecurityCategoryPermission.ViewProjectWorkspace };
bool[] permissionResults = new bool[permissionChecks.Length];
permissionResults = security.CheckUserProjectPermissions(projectUid, permissionChecks);
bool permissionOk = true;
for (int i = 0; i < permissionResults.Length; i++)
{
permissionOk = permissionOk && permissionResults[i];
}
if (permissionOk)
{
// Continue the application.
}
. . .
Vea también
Referencia
Espacio de nombres WebSvcSecurity
Otros recursos
Uso de métodos de seguridad en la interfaz PSI
Tutorial: creación y uso de Custom permisos de Project Server