2011-02-27 64 views
0

對於位於ISV目錄中的自定義ASPX頁面,從後臺代碼獲取當前登錄的MS Dynamics用戶身份的建議方法是什麼?Microsoft Dynamics 4.0自定義ASPX頁面身份

這樣做的方法必須與Dynamics是否使用AD/NTLM身份驗證或其他身份驗證機制無關,並且不得要求啓用模擬或更改web.config。

感謝

回答

1

您可以通過CRM Web服務執行WhoAmIRequest得到來自CRM數據庫systemuserid,然後通過crmservice.Retrieve()得到systemuser記錄。只要用戶有任何CRM安全角色分配,WhoAmIRequest和閱讀自己的systemuser記錄應始終有效。

0

使用XRM語境與SDK

public Xrm.systemuser CurrentUser { 
    get 
    { 
     var context = new XrmDataContext(); 

     var reponse = context.UsingService(
       service => (WhoAmIResponse)service.Execute(new WhoAmIRequest())); 


     return (from user in context.systemusers 
       where user.systemuserid == reponse.UserId 
       select user).Single(); 
    } } 

或Web服務(稱爲 'CRM' 在這裏)

public systemuser CurrentUser 
    { 
    get 
    { 
     WhoAmIRequest userRequest = new WhoAmIRequest(); 
     WhoAmIResponse current = (WhoAmIResponse)crm.Execute(userRequest); 
     return (systemuser)crm.Retrieve(EntityName.systemuser.ToString(), current.UserId, new AllColumns()); 

    } 
    } 
相關問題