我有一个带有web.config文件的asp.net应用程序,默认使用Windows身份验证。
我有一个应该具有Forms身份验证的Admin文件夹。为此,我在Admin文件夹中添加了一个新的web.config文件,如下所示:
<?xml version="1.0"?>
<configuration>
<system.web>
<authentication mode="Forms" >
<forms loginUrl="~/Admin/Login.aspx" name=".ASPXFORMSAUTH" >
</forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
现在,当我在Admin文件夹中运行一个页面时,它给出了以下错误:
Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
如何仅为Admin文件夹中的页面配置表单身份验证,并将其他页面保留为默认的Windows身份验证?
感谢
答案 0 :(得分:0)
我认为你需要做一些像
这样的事情在管理员文件夹web.config
中
<location path="Register.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
在您的根目录web.config
<system.web>
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
</system.web>
无论如何,这可能对您有所帮助Control Authorization Permissions in an ASP.NET Application