身份验证问题

时间:2011-07-15 11:25:39

标签: asp.net security authentication

我的网络配置,它是文件夹中的配置文件(虚拟目录中主配置文件附加的配置文件):

> <?xml version="1.0"?>
<configuration>
    <system.web>
      <authentication mode="Forms">
        <forms name=".MyCookie" loginUrl="~/Registration.aspx"   protection="All" timeout="43200" path="/">
          <credentials passwordFormat="MD5">
            <user name="user" password="ca064d0730abfeb09e383a0e82e65f73"/>
          </credentials>
        </forms>
      </authentication>

      <authorization>
        <deny users="?"/>
        <allow roles="Moderator"/>
        <deny users="*"/>
      </authorization>



    </system.web>
</configuration>

我得到的错误:

  

错误3在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的部分是错误的。此错误可能是由于未在IIS中将虚拟目录配置为应用程序引起的。 5

我正在尝试从管理员和主持人目录重定向任何匿名用户..所以我希望任何匿名用户或没有角色的用户被重定向到register.aspx ..但我不能让它工作,因为我得到了错误,我不知道为什么! :(

2 个答案:

答案 0 :(得分:1)

{%}}标记不会在子目录web.config 上被允许,除非您将此子目录定义为完整的asp.net应用程序,意味着不同的应用程序而不是根目录 - 我不建议它

所以删除它,并将其保存到root web.config。

authentication

答案 1 :(得分:0)

您应该将子目录定义为web.config中的位置。

检查location element。另请查看this scenario

This article说明了如何组织web.configs和location元素。

  

这是因为该部分仅在IIS中受支持   应用程序目录,不包含的子目录   IIS应用程序。