在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的部分是错误的。

时间:2011-12-14 06:07:37

标签: asp.net .net vb.net visual-studio-2010 authentication

我得到的错误是

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.  C:\Users\Jangid\Downloads\TestWebSite1\TestWebSite1\Backup\TestWebSite1\Web.config  26

我使用ASP.Net 2.0在服务器上托管了一个网站,我在根文件夹中有一个web.config,在Admin文件夹中也有一个,但是admin文件夹不是虚拟目录,我不想创建

<authentication mode="Forms">
  <forms loginUrl="Admin/Login.aspx" name=".ASPXFORMSAUTH"/>
</authentication>
<authorization>
  <allow roles="Admins"/>
  <deny users="*"/>
  <deny users="?"/>
</authorization>

但是对于Admin文件夹的身份验证和登录工作,我使用了ASP.Net登录控制,但这个错误阻止我向前移动。

还请任何人给我一个学习ASP.Net登录控制的链接,就像访问Admin文件夹的用户应该通过角色管理员进行身份验证, 如何创建角色并在服务器上分配给用户

2 个答案:

答案 0 :(得分:3)

<system.web>       
    <authentication mode="Forms"> 
        <forms name="cokiename" 
            loginUrl="./protectedFolder/login.aspx" 
            protection="All" 
        timeout="60" 
        defaultUrl="./protectedFolder/protectedPafe.aspx"/> 
  </authentication> 
</system.web>

这应该在你的主web.config文件中

以下进入子目录config

<configuration> 
<system.web> 

  <customErrors mode="Off"/> 
    <authorization> 
      <deny users="?" /> 
    </authorization> 

</system.web> 
</configuration> 

protected文件夹包含登录页面,受保护页面和web.config

答案 1 :(得分:1)

您需要在主web.config中拥有身份验证标记。 不需要管理员的单独登录页面。 您需要在您的会员数据库中创建管理员角色。(可以使用asp.net网站管理员) 这是您使用成员资格数据库的方式 http://revenmerchantservices.com/page/ASpnet-20-step-by-step-Membership-Provider-.aspx http://msdn.microsoft.com/en-us/library/ms178329.aspx

这是基于角色的安全性,您可以使用它来保护您的目录(虚拟) http://www.codeproject.com/KB/web-security/formsroleauth.aspx