相关疑难解决方法(0)

IIS AppPoolIdentity和文件系统写入访问权限

这是IIS 7.5和ASP.NET的一个问题,我一直在研究和无处可去.任何帮助将不胜感激.

我的问题是:在IIS 7.5中使用ASP.NET,IIS和/或操作系统如何允许Web应用程序写入文件夹,就像C:\dump在完全信任下运行一样?我怎么没有为应用程序池用户显式添加写访问权限(在这种情况下ApplicationPoolIdentity)?

我知道的很多:

  • 在IIS 7.5中,应用程序池的默认标识是ApplicationPoolIdentity.
  • ApplicationPoolIdentity 表示名为"IIS APPPOOL\AppPoolName"的Windows用户帐户,该帐户在创建应用程序池时创建,其中AppPoolName是应用程序池的名称.
  • "IIS APPPOOL\AppPoolName"用户默认为该IIS_IUSRS组的成员.
  • 如果你是在完全信任运行Web应用程序可以写入到文件系统的许多地区(不包括像文件夹C:\Users,C:\Windows等等).例如,您的应用程序将有权写入某些文件夹,例如C:\dump.
  • 默认情况下,IIS_IUSRS组不会获得读取或写入访问权限C:\dump(至少不能通过Windows资源管理器中的"安全"选项卡显示该访问权限).
  • 如果拒绝写访问权限IIS_IUSRS,则在尝试写入文件夹时会出现SecurityException(如预期的那样).

因此,考虑到所有这些,如何授予"IIS APPPOOL\AppPoolName"用户写入权限?w3wp.exe进程以此用户身份运行,那么是什么允许此用户写入它似乎没有显式访问权限的文件夹?

请注意,我理解这可能是为了方便起见,因为如果您在完全信任下运行,授予用户访问它需要写入的每个文件夹将是一件痛苦的事.如果要限制此访问权限,则始终可以在"中等信任"下运行该应用程序.我有兴趣了解操作系统和/或IIS允许这些写入的方式,即使似乎没有授予显式文件系统访问权限.

asp.net permissions iis-7.5 windows-server-2008-r2

387
推荐指数
2
解决办法
27万
查看次数

如何授予ASP.NET写入Windows 7文件夹的权限?

我有一个新的Win7工作站,我正在尝试让ScrewTurn Wiki在机器上运行.我的STW安装使用文件系统选项来存储其数据,因此我需要为安装网站的文件夹中的ASP.NET辅助进程提供写入权限.

但是,我似乎无法在Win7中提出工作进程的名称,以便将其添加到文件夹的权限.在XP中它是ASPNET_WP,如果我没记错的话,但这不是它在Win7中的名字.

有人可以告诉我吗?

编辑添加:

回应@Dragan_Radivojevic,这是所讨论的应用程序池的样子(名为ScrewTurnWiki):

IIS7应用程序池

身份是"ApplicationPoolIdentity"

asp.net iis-7.5

59
推荐指数
3
解决办法
13万
查看次数

CSS文件未显示在服务器上 - ASP.NET MVC Bundles错误.403 - 禁止访问:访问被拒绝

我的MVC 4应用程序在我的本地计算机上运行正常.

但是,我发布后CSS文件不起作用(不影响网站的布局).

我可以看到CSS文件在服务器上.

当我查看源代码时,我可以看到

<link href="/Content/css?v=fxCdHAOgPDvcROxkMfEwGQggO9uCfzckN3PaN8BOIzI1" rel="stylesheet"/>
Run Code Online (Sandbox Code Playgroud)

在我的本地计算机上,源代码显示为

<link href="/Content/css/myFile.css" rel="stylesheet"/>
<link href="/Content/css/myFile02.css" rel="stylesheet"/>
Run Code Online (Sandbox Code Playgroud)

所以,在服务器的源代码视图中,我点击了 Content/css?v=fxCdHAOgPDvcROxkMfEwGQggO9uCfzckN3PaN8BOIzI1,浏览器将我带到403 - 禁止访问:访问被拒绝.

我正在使用BunldeConfig.cs类添加CSS文件

    public class BundleConfig
    {
        // For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725
        public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/bundles/javascript").Include(
                        "~/Scripts/1.9.1.js",
                        "~/Scripts/jTools.js",
                        "~/Scripts/script.js"
                        ));

            bundles.Add(new StyleBundle("~/Content/css").Include(
                "~/Content/Css/website.css", 
                "~/Content/Css/banner.css", 
                "~/Content/Css/reusable.css",
                "~/Content/Css/lists.css",
                "~/Content/Css/tooltip.css",
                "~/Content/Css/overlay.css"
                ));


        }
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是,假设这不是服务器的IT问题(直到最近一直工作正常)我的代码有问题吗?

css asp.net-mvc publish

16
推荐指数
1
解决办法
9650
查看次数

ASP.NET 应用程序无法写入文件夹

我有一个 .net 2.0 应用程序,已从 Windows Server 2003/IIS6 迁移到 Windows Server 2008/IIS7

此应用程序需要写入服务器上公共文件夹部分中的文件夹。我已授予以下全部权利:

  • 每个人
  • IUSR
  • 网络服务
  • IIS_USRS

ASP.NET 应用程序仍然无法写入该文件夹。该文件夹在 IIS 7 管理器中可见,并且存在于文件系统中。

每当我执行需要写入文件夹的应用程序部分时,我都会收到以下错误:

在此输入图像描述

这在以前的服务器上工作得很好,但我不知道如何让它在新服务器上工作。请指教。

asp.net permissions windows-server-2008-r2

2
推荐指数
1
解决办法
2万
查看次数