我已经看过模拟的例子,但我仍然有问题。WCF模拟/身份验证
结构的一些细节:
ASP.net:Windows身份验证
WCF:在IIS托管,目前正在使用允许匿名用户
我想实现的是允许通过身份验证的Windows登录传递给WCF进行访问控制,例如阻止匿名用户尝试调用服务。
使用ASP.net应用程序时,如果计算机以管理员身份登录,但在Active Directory中失败,因为它不是AD下的定义用户,浏览器的弹出窗口将提示输入用户名和密码。
当提示时,用户将输入正确的用户ID和密码对应于AD。因此,登录通过。
但是,当我使用WCF的模拟将012窗口身份验证凭据传递给WCF时,它显示为管理员而不是ASP.net身份验证的用户信息。
我该怎么做才能获得正确的ASP.net认证用户信息,而不是用户在Windows中登录的内容。
投票结果至少与我目前看到的情况不同。至少在明天之前将无法测试。所以要确认,标识impersonate = true是添加在ASP,而不是WCF?但是我曾尝试过一次ASP,失败了。我所做的是使用operationalContext。那么有可能解释你与你有什么不同? – 2011-04-11 15:26:10
您需要打开Web应用程序的Windows身份验证,并使用impersonate = true。这将允许您模拟从asp.net站点调用wvf服务。您可能还必须确保您在域中使用Kerberos,而不仅仅是NTLM。 – 2011-04-11 19:39:55
Web App明智地打开了Windows身份验证。好吧,我今晚可以试试,如果我有时间 – 2011-04-12 01:06:26