如何禁用ASP.NET中的IIS凭证
问题描述:
有没有办法在global.asax或其他地方禁用IIS默认身份验证,具体取决于传递的参数。如何禁用ASP.NET中的IIS凭证
客户端请求相同的形式将使用IIS验证来保护,并通过提供在POST变量的请求被传递到ASP.NET egine之前
答
IIS认证发生的认证信息。因此,你的问题的答案是“不”。
但是,通过仅在IIS上启用匿名访问,您可以在应用程序中处理任何身份验证(包括基本等),而不会被IIS“拦截”。
答
这不是一个完整的答案,但可能会给你方向。如果您使用的是IIS 7,则HttpModules现在是IIS本地的。也就是说,无论提供什么类型的内容,您都可以获得IIS使用的IHttpModule接口的实现。
我怀疑你可以连线这样一个HttpModule,以便它会注意到IIS失败时由于Windows身份验证失败而发出的请求。如果这是可能的,那么你仍然可以检查POST变量,并给该请求提供“第二次机会”。
我也想知道是否可以用IIS 7来解决这个问题 - 让主站点使用匿名身份验证,以便您的代码可以检查表单POST参数。如果该身份验证失败,则重定向到Windows身份验证网站。
我必须做foris IIS 5.1:/ – 2009-04-21 11:26:14