2013-07-18 90 views
0

我認爲這是通過設計(因此可能是一個愚蠢的問題),但是有什麼方法可以確定連接到Dynamics CRM時生成的身份驗證問題。Dynamics CRM 2011 - 確定認證類型

我正在創建一個連接的第三方應用程序,我想說「密碼無效」而不是「身份驗證失敗」。以下是我的。

namespace MyCRM 
{ 
public class MyCRMClass 
{ 
    public static void ConnectToCRM() 
    { 
     Uri serverURI = new Uri('https://myorganisation.api.crm5.dynamics.com/XrmServices/2011/Organization.svc'); 
     ClientCredentials clientCredentials = new ClientCredentials(); 
     clientCredentials.UserName.UserName = 'Username'; 
     clientCredentials.UserName.Password = 'Password'; 

     OrganizationServiceProxy serviceProxy = new OrganizationServiceProxy(serverURI, null, clientCredentials, null); 
     serviceProxy.EnableProxyTypes(); 

     try 
     { 
      Guid UserId = ((WhoAmIResponse)serviceProxy.Execute(new WhoAmIRequest())).UserId; 
     } 
     catch (Exception ex) 
     { 
      // Throws Authentication Issue 
     } 
    } 
} 
} 

通過調用WhoAMIRequest我可以得到一個驗證錯誤,但是我真的想知道什麼樣的錯誤,所以我可以幫助工作人員與修復自己的問題。

我是否正確地暗示這不可能使用CRM webservices?

回答

1

您將永遠無法獲得您從客戶端請求的錯誤信息。理論上你可以打開服務器上的跟蹤日誌記錄,但是由於一系列原因,這是一個糟糕的主意。

通常說的密碼是無效的是安全問題,因爲它允許黑客知道該帳戶是有效的,如果他們可以只找出密碼,他們在。

+0

感謝達里爾。這就是我想的 – Campey

+0

只是想知道:爲什麼跟蹤記錄一個壞主意? –

+0

@JorisVanRegemortel爲調試目的打開跟蹤日誌記錄一點都不差。這是我調試問題時的第一步。打開它並將其放置在生產環境中會降低整個系統的性能,並最終導致服務器磁盤已滿。所有這些危險只是爲了告訴用戶他的密碼是錯誤的,而只是無法登錄信息,這對我來說沒有任何意義。 – Daryl