如何将目录设置为只有经过身份验证的用户才能访问文件的位置?
换句话说,我需要确保只有登录的人才能使用web.config访问图像和其他人员数据。
有什么设置?
这是我到目前为止所获得的内容,但它不会阻止未登录的用户。
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>
我的web.config文件已删除大部分信息。如果您可以将配置信息放在何处,以便我的站点上没有人可以访问名为users的文件夹,除非他们已登录。
<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<connectionStrings configSource="cnn.config" />
<appSettings configSource="app.config" />
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime requestValidationMode="4.5" targetFramework="4.5" encoderType="System.Web.Security.AntiXss.AntiXssEncoder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<machineKey compatibilityMode="Framework45" />
<authentication configSource="authentication.config" />
<pages>
<namespaces>
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages" />
</namespaces>
<controls>
<add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
</controls>
</pages>
<membership configSource="membership.config" />
<roleManager configSource="roles.config" />
<profile configSource="profile.config" />
<!--<sessionState mode="InProc" customProvider="DefaultSessionProvider">
<providers>
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />
</providers>
</sessionState>-->
</system.web>
</configuration>
答案 0 :(得分:1)
看一下这篇文章:HOW TO: Control Authorization Permissions in an ASP.NET Application
简而言之,您可以设置文件夹权限,如下所示:
<configuration>
<location path="images">
<system.web>
<authorization>
<deny users ="?" />
</authorization>
</system.web>
</location>
</configuration>