2010-03-18 65 views
0

我用下面的代碼在我的Web服務驗證用戶身份:ValidateCredentials()返回在First Call調查FALSE,但在隨後的調用TRUE

using (PrincipalContext context = new PrincipalContext(ContextType.Domain, domain)) 
{ 
    return context.ValidateCredentials(userName, password); 
} 

我遇到的障礙是,在第一次調用到ValidateCredentials()返回false,但隨後的調用返回true。我在這一行和中間窗口中放置了一個斷點,我看到了相同的結果:第一次調用返回false,第二次返回true,即使在調用之間沒有任何內容被我改變。

'域'是String.Empty,但我也嘗試過使用實際的域名並獲得相同的結果。

我不是在網絡管理所以任何幫助,將不勝感激精通,

回答

0

我有一個程序類似的問題來控制其他機器加工的。

我有一段代碼,停止,直到登錄方法succeded:

do 
{ 
} 
while(!login(usrname, pass)); 

它沒有解釋任何studd正在發生的事情,但它解決了我的問題......

+1

是否ValidateCredentials()調用增量用戶的密碼重試計數? (見http://stackoverflow.com/questions/1899724/how-do-i-reset-password-retry-count-for-a-user-in-the-gpu-using-c)我不想無意中鎖定用戶做這樣的事情。如果一切都失敗了,我可以在do {}中用睡眠和嘗試計數器做這樣的事情。 –

+0

味道不好。這解決了我的問題:http://stackoverflow.com/a/11019430/125406 –

相關問題