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

时间:2012-02-03 16:27:40

标签: c# asp.net

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

如果我将“用户名”和“密码”硬编码到C#代码中并执行简单的条件化,我的身份验证就可以正常工作。

但是,我收到错误消息'无法识别的元素'身份验证'。

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>

2 个答案:

答案 0 :(得分:3)

可能只是因为你错过了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>

答案 1 :(得分:0)

正如Jon所说,<authorization>节点不应该是<customErrors>节点的子节点。