【问题标题】:web.config - deny all users to specific folder and subdirectories except for authenicated rolesweb.config - 拒绝所有用户访问特定文件夹和子目录,但经过身份验证的角色除外
【发布时间】:2015-07-15 15:06:24
【问题描述】:

我在尝试阻止所有用户/连接访问下载文件夹“文件”以及其中的所有子和文件时遇到问题。我只想允许特定角色中经过身份验证的用户访问文件。文件夹位于根目录下。 ./web.config ./files/subfolder1/files 在这里

我的 web.config 我有这个

<location path="files" allowOverride="false">
<system.web>
  <authorization>

    <allow roles="Admin, Fieldworker, Supervisor, Accounting" />
     <deny users="*" />

  </authorization>  
</system.web>

问题不仅是所有用户都被屏蔽了,而且我在 Admin 和其他角色中经过身份验证的用户也被屏蔽了。 如果我在上面添加,那么我的“管理员”用户可以访问这些文件,但是任何未经身份验证的用户也可以访问这些文件......我不明白为什么会允许其他用户访问?

我的网络服务器是 IIS7。 web.config 中的其他相关条目

<modules runAllManagedModulesForAllRequests="false">
  <remove name="ScriptModule" />
  <add name="ScriptModule" preCondition="managedHandler"   type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0,   Culture=neutral, PublicKeyToken=31BF3856AD364E35" />  

    <add  name="FormsAuthenticationModule"    type="System.Web.Security.FormsAuthenticationModule" />
    <remove  name="UrlAuthorization" />
    <add  name="UrlAuthorization"   type="System.Web.Security.UrlAuthorizationModule"  />
    <remove  name="DefaultAuthentication" />  
    <add  name="DefaultAuthentication"  type="System.Web.Security.DefaultAuthenticationModule" />


</modules>

在此先感谢您的帮助!

【问题讨论】:

    标签: iis-7 web-config directory


    【解决方案1】:

    这似乎与以下内容重复:how to protect uploaded documents from direct access in web forms

    您需要使用&lt;location&gt; 元素:

       <location path="Logon.aspx">
        <system.web>
         <authorization>
            <allow users="?"/>
         </authorization>
        </system.web>
       </location>
    

    【讨论】:

    • 自从我发帖以来,我发现主要问题是站点位于 IIS 6 上,我需要将其移动到 IIS7 或更高版本以获取表单身份验证以保护所有类型的文件。我还不确定移动站点是否有助于解决我发布的问题。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 2011-12-12
    • 2019-01-25
    • 1970-01-01
    • 1970-01-01
    • 2019-12-12
    相关资源
    最近更新 更多