none
怎样判断CRM用户拥有增加,修改,删除权限 RRS feed

答案

  • 或者使用 RetrievePrincipalAccess Message

    [C#]  
    // Set up the CRM Service.  
    CrmAuthenticationToken token = new CrmAuthenticationToken();  
    // You can use enums.cs from the SDK\Helpers folder to get the enumeration for Active Directory authentication.  
    token.AuthenticationType = 0;   
    token.OrganizationName = "AdventureWorksCycle";  
       
    CrmService service = new CrmService();  
    service.Url = "http://<servername>:<port>/mscrmservices/2007/crmservice.asmx";  
    service.CrmAuthenticationTokenValue = token;  
    service.Credentials = System.Net.CredentialCache.DefaultCredentials;  
     
    // Create the SecurityPrincipal object.  
    // This references the user whose access is being checked.  
    SecurityPrincipal principal = new SecurityPrincipal();  
     
    // Set the properties of th SecurityPrincipal object.  
    // Type is the typecode of the principalid.  
    principal.Type = SecurityPrincipalType.User;  
    // PrincipalId is the GUID of the user whose access is being checked.  
    principal.PrincipalId = new Guid("F111F0B1-70CE-44B4-8BF2-2E6C7EADA111");  
     
    // Create the target for the request.  
    TargetOwnedAccount owner = new TargetOwnedAccount();  
     
    // EntityId is the GUID of the account to which access is being checked.  
    owner.EntityId = new Guid("2B951FBC-1C56-4430-B23B-20A1349068F3");  
     
    // Create the request object.  
    RetrievePrincipalAccessRequest access = new RetrievePrincipalAccessRequest();  
     
    // Set the properties of the request object.  
    access.Principal = principal;  
    access.Target = owner;  
     
    // Execute the request.  
    RetrievePrincipalAccessResponse accessResponse = (RetrievePrincipalAccessResponse)service.Execute(access);  
     

    Batistuta Cai 如果您觉得对您有帮助,请点击“帖子内容有帮助”;如果你觉得回复很满意,请点击“标记为答复”
    • 已标记为答案 crm2011w 2009年2月25日 1:11
    2009年2月20日 5:03
    版主

全部回复

  •  使用 RetrieveUserPrivileges Message 

    CrmService service = new CrmService();
    service.Url = "http://<servername>:<port>/mscrmservices/2007/crmservice.asmx";
    service.CrmAuthenticationTokenValue = token;
    service.Credentials = System.Net.CredentialCache.DefaultCredentials;

    // Create the request object.
    RetrieveUserPrivilegesRequest retrieve = new RetrieveUserPrivilegesRequest();

    // Set the ID of the user that you want privileges for.
    retrieve.UserId = new Guid("18ECA720-493E-4800-BBFD-638BD54EB325");

    // Execute the request.
    RetrieveUserPrivilegesResponse retrieved = (RetrieveUserPrivilegesResponse) service.Execute(retrieve);
    Batistuta Cai 如果您觉得对您有帮助,请点击“帖子内容有帮助”;如果你觉得回复很满意,请点击“标记为答复”
    2009年2月20日 1:37
    版主
  • 或者使用 RetrievePrincipalAccess Message

    [C#]  
    // Set up the CRM Service.  
    CrmAuthenticationToken token = new CrmAuthenticationToken();  
    // You can use enums.cs from the SDK\Helpers folder to get the enumeration for Active Directory authentication.  
    token.AuthenticationType = 0;   
    token.OrganizationName = "AdventureWorksCycle";  
       
    CrmService service = new CrmService();  
    service.Url = "http://<servername>:<port>/mscrmservices/2007/crmservice.asmx";  
    service.CrmAuthenticationTokenValue = token;  
    service.Credentials = System.Net.CredentialCache.DefaultCredentials;  
     
    // Create the SecurityPrincipal object.  
    // This references the user whose access is being checked.  
    SecurityPrincipal principal = new SecurityPrincipal();  
     
    // Set the properties of th SecurityPrincipal object.  
    // Type is the typecode of the principalid.  
    principal.Type = SecurityPrincipalType.User;  
    // PrincipalId is the GUID of the user whose access is being checked.  
    principal.PrincipalId = new Guid("F111F0B1-70CE-44B4-8BF2-2E6C7EADA111");  
     
    // Create the target for the request.  
    TargetOwnedAccount owner = new TargetOwnedAccount();  
     
    // EntityId is the GUID of the account to which access is being checked.  
    owner.EntityId = new Guid("2B951FBC-1C56-4430-B23B-20A1349068F3");  
     
    // Create the request object.  
    RetrievePrincipalAccessRequest access = new RetrievePrincipalAccessRequest();  
     
    // Set the properties of the request object.  
    access.Principal = principal;  
    access.Target = owner;  
     
    // Execute the request.  
    RetrievePrincipalAccessResponse accessResponse = (RetrievePrincipalAccessResponse)service.Execute(access);  
     

    Batistuta Cai 如果您觉得对您有帮助,请点击“帖子内容有帮助”;如果你觉得回复很满意,请点击“标记为答复”
    • 已标记为答案 crm2011w 2009年2月25日 1:11
    2009年2月20日 5:03
    版主
  • 你刚才给我的方法需要实体的ID当现在实体还没建立,我是需要判断当前用户是否拥有对该实体的创建权
    2009年2月20日 5:34