具有域验证的WCF服务

时间:2013-06-24 06:30:19

标签: wpf wcf dns windows-authentication wcf-security

我正在使用Messaging ApplicationWPF网站构建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”。

你能告诉我这里缺少什么吗?

1 个答案:

答案 0 :(得分:0)

在这里查看http://travisspencer.com/blog/2009/07/creating-users-that-work-with.html加上如果userName的格式为domain \ userName尝试从域名解析它并仅将用户部分作为参数发送到ValidateCredentials