【问题标题】:IIS 7 w/ MVC 3 Permissions IssueIIS 7 w/ MVC 3 权限问题
【发布时间】:2011-11-27 01:43:40
【问题描述】:

我目前正在将 MVC 3 Web 应用程序部署到 IIS 7 服务器。当我从 Visual Studio 处理 Web 应用程序并通过开发服务器进行部署时,Web 应用程序使用与本地服务器交互的自定义​​ .dll 没有问题。但是,当我部署到 IIS 7 上时,相同的 dll 无法通过 dll 从服务器中提取数据。我假设这是与权限相关的。我已指定 AppPool 使用我创建的帐户,该帐户是本地“管理员”帐户的成员。没有成功。我的帐户是该组的成员。我注意到的一个怪癖是,当我尝试修改 %WINDIR%\inetsvr 文件夹中的安全设置时,该文件夹包含为 IIS 运行 Web 服务器的进程,即使我是“管理员”的成员,我也无法修改这些设置帐户。对此感到困惑,并且一直在绕圈子试图弄清楚这一点。任何帮助,将不胜感激。

【问题讨论】:

  • 这个 DLL 究竟想在服务器上做什么?访问一些文件?
  • 它是一个用于多维数据库包的服务器服务的 API。我一直在使用进程资源管理器来验证服务器(开发和 IIS)是否在 GAC 中获取相同的 dll 实例。

标签: asp.net asp.net-mvc-3 authentication iis-7 permissions


【解决方案1】:

您的网络应用的关联用户绝对不需要拥有%WINDIR%\inetsvr 的访问权限。

假设您的网站在C:\interpub\myWebsite.Net 4.0 上运行,您的网络应用程序的用户至少需要对以下文件夹具有阅读权限:

  • C:\interpub\myWebsite
  • %windir%\Microsoft.NET\FrameWork\v4.0.30319\Temporary ASP.NET Files

如果您不授予这些文件夹的访问权限,那么您的应用很可能无法运行。

另外,使用生产服务器中的浏览器访问您的站点并查看详细的 IIS 错误。这可能有助于缩小问题范围。

注意

此外,请确保您的应用程序池处于集成模式,因为 ASP.NET 如果您有无扩展,MVC 将无法在经典模式下正常工作 网址。你很有可能会得到 404。

【讨论】:

  • 我的应用程序似乎运行良好,除了一个功能部分不起作用。它肯定直接连接到我在 .NET 2.0 中创建的 dll,该 dll 构建在基于 2.0 的 API 之上。由于某种原因,这个 dll 在开发服务器上执行功能,但是当我从 IIS 运行它时,dll 没有按预期执行它的工作。我已经尝试签署有问题的dll,但仍然没有成功。但是对于你上面的问题,我从IIS上运行的站点没有问题,它主要与一个DLL有关。
猜你喜欢
  • 2023-04-03
  • 2012-02-26
  • 1970-01-01
  • 2011-08-13
  • 2011-08-08
  • 2010-10-08
  • 2012-07-23
  • 2012-02-18
  • 1970-01-01
相关资源
最近更新 更多