无法识别的元素';身份验证';

本文关键字:身份验证 元素 识别 | 更新日期: 2023-09-27 18:22:28

我正在尝试编写一个简单的身份验证。我也在尝试让它变得快速,并通过web.config了解表单身份验证。

因此,如果我把我的"用户名"answers"密码"硬编码到C#代码中,并做一个简单的条件,我就可以进行身份验证了。

但是,我收到一条错误消息"无法识别的元素"authentication"

Line 2:     <system.web>
Line 3:         <customErrors mode="off">
Line 4:             <authentication mode="Forms">
Line 5:                 <forms name=".C#FEWD" 
Line 6:                     loginUrl="/schools/admin/login/index.aspx" 

我的web.config文件如下所示:

<configuration>
    <system.web>
        <customErrors mode="off">
            <authentication mode="Forms">
                <forms name=".C#FEWD" 
                    loginUrl="/schools/admin/login/index.aspx" 
                    protection="All" 
                    timeout="60">
                    <credentials passwordFormat="Clear">
                        <user name="schools" password="magic" />
                    </credentials>
                </forms>
            </authentication>
        <authorization>
            <deny users="?" />
        </authorization>
        </customErrors>
    </system.web>
</configuration>

无法识别的元素';身份验证';

这可能只是您的customErrors设置中缺少节点终止符:

<customErrors mode="off"/>

更多以下评论:

您的完整配置应该是:

<configuration>
    <system.web>
        <customErrors mode="off" />
        <authentication mode="Forms">
            <forms name=".C#FEWD" 
                loginUrl="/schools/admin/login/index.aspx" 
                protection="All" 
                timeout="60">
                <credentials passwordFormat="Clear">
                    <user name="schools" password="magic" />
                </credentials>
            </forms>
        </authentication>
        <authorization>
            <deny users="?" />
        </authorization>
    </system.web>
</configuration>
正如Jon所说,<authorization>节点不应该是<customErrors>节点的子节点。