【问题标题】:Allow write access to a folder for only specific web users仅允许特定 Web 用户对文件夹进行写访问
【发布时间】:2011-12-03 01:55:44
【问题描述】:

我有一个用 C# 编写的网站,它使用表单身份验证来允许用户访问网站上的其他内容。其中一些用户拥有我创建的名为 Admin 的 aspnet 角色。这些用户只能向网站添加内容,包括上传图片。

为这些特定用户授予对图像文件夹的写入权限并仅授予其他用户读取权限的正确方法是什么?

我查看了在我的 IIS7 服务器上使用直通身份验证,但我无法将所有用户添加到文件夹权限,因为一直在添加新用户。我也考虑过使用虚拟目录,但不知道如何实现。

【问题讨论】:

    标签: asp.net c#-4.0 iis-7 forms-authentication


    【解决方案1】:

    我不知道这是否是最佳做法,但您可以在 web.config 文件中为特定目录设置模拟:

    <location path="UploadPath">
      <system.web>
       <identity impersonate="true" userName="impersonatedUser" password="******"/>
       <authorization>
        <deny users="?"/>
        <allow roles="Admin"/>
       </authorization>
      </system.web>
     </location>
    

    更多关于假冒的信息:http://msdn.microsoft.com/en-us/library/aa292118(v=vs.71).aspx

    【讨论】:

      【解决方案2】:

      您应该有一个虚拟目录,所有上传的文件都将存放在其中,最好由 User1、User2 文件夹分隔。该虚拟目录将在有权写入下面文件夹的用户下配置。我认为无论如何您都不能使用表单身份验证来控制对它的读/写访问。您必须使用表单身份验证角色限制对 Web 应用程序上上传页面/功能的访问。

      【讨论】:

      • 如何使用表单身份验证角色?比如代码是什么?
      • 你会说 If(HttpContext.Current.User.IsInRole("Admin")) { pnlUpload.Enabled = true; } ,例如。
      猜你喜欢
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 2023-03-30
      • 2012-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多