使用ASP进行基本身份验证.经典模式下IIS7.5上的Net Web服务



我已经用。net 4实现了web服务的基本身份验证。为了实现基本的身份验证,我实现了HttpModule。当我通过Internet Explorer调用我的web服务时,它提示输入用户名密码,我输入有效的用户名/密码,它工作得很好。

然而,当我在Dev环境中部署我的web服务并在internet explorer中调用我的服务时。这给了我用户提示;我输入了有效的用户名/密码,但它一直提示我用户名/密码,最终在三次尝试后,我得到错误信息401.2 -访问被拒绝。

我的认证设置是:

 Anonymous Access Enabled
 Basic Authentication Disabled
 Windows Authentication Disabled

在我的HttpModule中,每次用户被认证时,我都会记录认证是否成功。我可以在日志文件中看到,三次身份验证都成功了。但它还是出错了。(

如果我在集成模式下运行web服务,它工作得很好。不幸的是,我的要求是在经典模式下运行web服务。

环境细节:操作系统:Windows Server 2008 R2IIS: 7.5经典模式

我从过去的4天被困住了。请帮助!

说我疯了,难道你不需要有Basic Authentication Enabled才能成功地验证任何人吗?

我猜你有身份模拟打开和匿名打开,这是导致您的ASP。Net应用程序作为"IUSER_"帐户执行。"IUSER_"帐户无法访问您试图访问的特定资源(可能是API调用,文件,bla, bla)。

如果您关闭了身份模拟,并打开了匿名功能,那么您的ASP将无法访问。Net代码应该作为应用程序池帐户运行。这意味着该帐户没有访问您试图访问的特定资源的权限(bla, bla, bla)。

这是一篇讨论IIS和ASP的老派MSDN文章。网络安全。就像我提到的,它是古老的,但概念仍然是正确的。

最新更新