我正在使用Messaging Application
和WPF
网站构建WCF-RESTful
。
此应用程序用于Intranet和Internet。当通过Internet(域外)访问时,应用程序会提示进行身份验证(消息传递应用程序中的自定义登录屏幕)。
我们在WCF service
中编写了身份验证逻辑,如下所示:
using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, domain))
{
if (!pc.ValidateCredentials(userName, password, ContextOptions.Negotiate))
{
return string.Empty;
}
}
网站的应用程序池设置为使用NetworkService
。网站的身份验证是“匿名”,因为Intranet用户不需要进行身份验证。
我没有收到任何错误或异常。相反,即使凭证正确,它也始终为任何用户名返回“false”。
你能告诉我这里缺少什么吗?
答案 0 :(得分:0)
在这里查看http://travisspencer.com/blog/2009/07/creating-users-that-work-with.html加上如果userName的格式为domain \ userName尝试从域名解析它并仅将用户部分作为参数发送到ValidateCredentials