【问题标题】:Basic authentication on IIS 7.5IIS 7.5 上的基本身份验证
【发布时间】:2012-09-20 16:00:06
【问题描述】:

我正在尝试在 IIS 服务器上运行具有基本身份验证的简单 ASP.NET 应用程序。有趣的是,除了我的生产服务器之外,几乎所有服务器上的身份验证都可以正常工作。当我在该机器上部署应用程序时,它不断提示我输入凭据。不幸的是,这是一台我无权访问的实验室机器,也无法查看日志。

我猜这是在 Windows 2008 VM 服务器上运行的 IIS 7.5 服务器,内容文件夹(默认应用程序指向的位置)与我们共享(我们对该文件夹具有写入权限,这就是我们部署的方式我们的应用程序)。

服务器上的外部身份验证设置,还有哪些其他因素可能导致问题?请指教。

【问题讨论】:

  • 是的,我想是的。但如果我请求他们帮助调试,我需要向实验室人员提供具体细节。这就是为什么我很想知道是否有任何外部身份验证设置可能导致此问题。

标签: windows iis-7.5


【解决方案1】:

这很可能是对 Web 应用程序使用的资源的访问权限。 您看到此重复登录提示的原因是该帐户没有所需的权限。

首先,您必须确定您是否使用模拟。 如果您进行模拟,则经过身份验证的帐户需要必要的权限。 如果您不模拟,则应用程序池帐户需要必要的权限。

那么需要什么权限呢?

嗯,这可能是很多事情,我们不知道您的应用程序的详细信息。
您是否连接到数据库?
然后您必须确保当前帐户上下文具有连接到数据库的正确权限。

您是否从磁盘读取图像/文件?
然后,您必须确保当前帐户上下文具有访问这些资源的正确权限。

如果您访问的是文件资源,我建议您使用 Fiddler 并确定您需要处理的路径。它会通过那些 404 错误告诉你。

编辑:确保您的应用程序池帐户具有您提到的此 DLL 所需的权限。它从哪里获取此列表?它在DLL中是静态的吗?这个 DLL 在哪里? 在您尝试登录时,还请检查服务器上的事件日志是否有任何相关错误。

【讨论】:

  • 感谢马格努斯的回复。该应用程序非常简单,它使用内部专有 DLL 来获取列表。在所有其他机器上,如果我没有访问该内部系统的权限,我可以访问该页面,然后我会在应该出现列表的屏幕上看到一条错误消息。但是,在这台服务器中,我得到的只是重复的身份验证框。如果我取消身份验证请求(可能是因为启用了匿名登录),我可以使用预期的错误消息(与内部组件相关)访问应用程序。没有 I/O DB 或文件!
  • 忘了说当我取消的时候,用户id和我提供的id不一样(我猜它使用默认的应用程序池id)。
猜你喜欢
  • 2016-01-26
  • 2014-09-15
  • 2012-09-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多