2010-03-18 34 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 –

相关问题