我是ASP.NET新手,如果这很简单,请原谅我。
我试图通过web.config拒绝访问我的'Admin'文件夹。我查看了类似问题的另一个答案,他们建议使用<location>
文件夹,但是当我在路径中插入“Admin /”时,我收到以下错误:
路径属性必须是a 相对虚拟路径。这不可以 从任何'''开始。' '/' 要么 '\'。 C:\个人\项目\ OliverSalon \ web.config中
我尝试过放置“Admin”,“/ Admin”&amp; “管理/”
<configuration>
<connectionStrings>
<add name="OliverSalonConnectionString1" connectionString="Data Source=localhost;Initial Catalog=OliverSalon;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="false" targetFramework="4.0" />
<authentication mode="Forms">
<forms name="Oliver" loginUrl="Login.aspx" path="/" timeout="20">
<credentials passwordFormat="Clear">
<user name="OliverSalon" password="cuts"/>
</credentials>
</forms>
</authentication>
<authorization >
<deny users="?"/>
</authorization>
</system.web>
<location path="/Admin">
<system.webServer>
<directoryBrowse enabled="false"/>
</system.webServer>
</location>
答案 0 :(得分:24)
这是从我的网络形式回来的。
在您的管理文件夹中放置一个web.config。
内容应为:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="admin" />
<deny users ="*" />
</authorization>
</system.web>
</configuration>
**编辑回答你的问题 如果您设置了登录URL,如果未经授权的用户尝试访问您的管理文件夹,框架将自动将您发送到登录页面。
<authentication mode="Forms">
<forms loginUrl="Login.aspx" timeout="20" slidingExpiration="true" cookieless="AutoDetect" protection="All" requireSSL="false" enableCrossAppRedirects="false" defaultUrl="Default.aspx" path="/"/>
</authentication>