0

我目前正在尝试将旧版 ASP 应用程序从 Windows Server 2000 和 IIS5 迁移到 Windows Server 2008 和 IIS7。此应用程序的身份验证使用 ISAPI 过滤器。除了一个问题外,应用程序和 ISAPI 过滤器都可以在新环境中工作。有问题的应用程序被设置为根应用程序(就像您通过访问http://hostname/application.asp来访问它一样)。如果我通过指定的 URL 访问它,它会询问我的身份验证详细信息,ISAPI 过滤器会通过正确的登录详细信息,然后执行它的操作。然后我在 IIS7 中添加了一个默认文档以指向 application.asp。现在,如果我通过访问http://hostname访问应用程序,ISAPI 过滤器会传递错误的登录详细信息。ISAPI 过滤器实现了这个方法:

DWORD CMyISAPIFilter::OnAuthentication(CHttpFilterContext* pCtxt, PHTTP_FILTER_AUTHENT pAuthent)

其中,pAuthent 对象在调用 ISAPI 过滤器时由 IIS 传入,并且具有 pszUser 属性,该属性通常保存在身份验证对话框中输入的值。在我的情况下(使用默认文档条目访问网站时),pszUser 属性保存的是运行应用程序池的 Windows 帐户的值。为了清楚起见,如果我在 application.asp 部分中键入,ISAPI 过滤器将传递正确的值。

我对这个问题感到很困惑,并且不知道如何解决它。为了使事情顺利进行,我无法真正重建/修改 ISAPI 过滤器,而且在 IIS 管理方面我是初学者。

我还发现,如果 IIS 没有安装默认文档功能,则身份验证有效。如果没有此功能,默认文档(自然)不起作用,但身份验证可以。只有在我添加了默认文档功能之后,身份验证才会中断。

谢谢你的帮助!

4

1 回答 1

0

听起来该网站已配置为在根级别使用集成安全性。确保从-Tab中的Integrated Windows Authentication复选框中删除复选标记。Directory Security

节点“网站”也可以配置。所以请确保你不会错过那个 ;-)

编辑:该死的我不能上传图片。会让你更容易找到设置。

于 2010-08-25T10:56:55.100 回答