【问题标题】:Restricting file access to certain users限制某些用户的文件访问
【发布时间】:2012-05-31 02:34:00
【问题描述】:

我有一个网站,用户使用表单身份验证登录该网站,我想限制特定用户访问特定文件夹中的文件。

因此,例如,文件夹 dir/foo 将可供 user1 访问,但不能由 user2 或 user3 访问,文件夹 dir/bar 将可供 user2 访问,但不能由 user1 或 user3 访问。

我该怎么做?

【问题讨论】:

    标签: c# authentication iis-7 web-config authorization


    【解决方案1】:

    用户角色然后在 web.config 中设置位置

    <location path="foo">
        <system.web>
            <authorization>
                <allow roles="fooUsers"/>
                <deny users="*"/>
            </authorization>
        </system.web>
    </location>
    

    或 为每个创建的文件夹添加一个新的 web.config 到文件夹根目录

    <?xml version="1.0"?>
    <configuration>
        <system.web>
            <authorization>
                <allow roles="folderUsers"/>
                <deny users="*" />              
            </authorization>
        </system.web>
    </configuration>
    

    【讨论】:

    • 并非如此简单——文件夹是动态创建的,因此无法随时知道有多少文件夹。
    • 然后,当你创建一个文件夹时,还要创建一个文件夹特定的 web.config 以放入该文件夹
    • 你是说这个新的web.config只需要包含这个位置标签吗?
    • 问题是用户的角色与他们是否可以访问文件没有任何关系。
    • 然后允许用户而不是角色
    【解决方案2】:

    检查 web.config 的 <location> 元素

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 2011-08-06
      • 1970-01-01
      • 2012-05-26
      • 2012-08-23
      • 1970-01-01
      相关资源
      最近更新 更多