保护ASP.NET Web目录中的文件夹不起作用

时间:2014-04-01 17:09:08

标签: c# asp.net authentication authorization

我已阅读并实施this SO post on the subject但它无效。它是基于表单的身份验证。我是否必须实施会员/角色?如果是这样,怎么样?以下不起作用的意思是所有用户仍然可以获得SavAdmin文件夹。

<location path="~/SavAdmin">
    <system.web>
      <authorization>
        <allow roles="Savitas Admin"/>
       <deny users="?" />
      </authorization>

Visual Studio 2013中用于创建角色等的网站管理工具发生了什么?

2 个答案:

答案 0 :(得分:1)

您不需要 来实现成员资格/角色 - 在创建成员身份/角色之前,.NET 1.x中提供了授权元素。但使用Membership会在使用Forms Authentication时简化身份验证,使用Roles会简化授权。

  

以下内容无效

你是什么意思&#34;不工作&#34;?

也许您缺少一个拒绝元素,例如:

<deny users="?" />

拒绝匿名用户。

<强>更新

  

什么不起作用,我仍然可以访问该子文件夹及其文件列表

我不明白你的意思&#34;到达那个子文件夹&#34;。

如果您的意思是可以浏览目录,则需要配置IIS以防止这种情况发生。有关详细信息,请参阅以下链接:http://technet.microsoft.com/en-us/library/cc725840(v=ws.10).aspx

如果您的意思是可以访问该文件夹中的aspx页面,这可能是因为您没有<deny>元素来限制访问。

答案 1 :(得分:0)

是。如果使用上述配置,则必须实现Membership / Roles。

根据您是否使用Windows身份验证或表单等,您可以实施各种机制来保护文件夹。让我们知道您的身份验证和您获得的错误等。