0

对不起,我是 ASP.NET 的新手

我已经写了这个页面,但是当我运行它时,尽管浏览器中的URL是真的,它会进入登录页面。知道为什么会这样吗?

代码是:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="root_VerifyUsers.aspx.cs" 
    Inherits="Library.Account.root" MasterPageFile="~/Root.Master" %>

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <p>
    <h1>

        Verify Users

    </h1>
    </p>
    <asp:Login ID="VerifyUser" runat="server" EnableViewState="false" RenderOuterTable="false">
        <LayoutTemplate>
            <div class="accountInfo">

               <p>

                    <asp:ListBox ID="ListBox1" runat="server" Width="100%" Height="100%"></asp:ListBox>

               </p>
               <p>


               <asp:Button ID="LoginButton" runat="server"  Text="Log In" 
                 ValidationGroup="LoginUserValidationGroup" onclick="LoginButton_Click" 
                       Width="691px" Height="48px"/>

               </p>
            </div>
        </LayoutTemplate>
    </asp:Login>
</asp:Content>

后面的代码是:

namespace Library.Account
{
    public partial class root : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
    }
}
4

2 回答 2

1

您的代码似乎显示了我所看到的登录页面。登录页面是您应该得到的。

于 2013-09-18T07:21:43.277 回答
1

我在这里跳过枪,因为您的问题缺少我们需要回答的很多信息。然而,就像在黑暗中的总刺;打开你的 web.config 文件,看看里面是否有这样的东西:

<authentication mode="Forms">
   <forms name="Foo" loginUrl="/Login.aspx">
   </forms>
</authentication>

你有类似以上的吗?可能是您的网站启用了身份验证,这意味着,由于您没有登录该网站,它会重定向到登录页面。

编辑:

对,这是你的问题:

http://localhost:21266/Account/Login.aspx?ReturnUrl=%2fAccount%2froot_VerifyUsers.aspx

您的网址实际上http://localhost:2166/Account/Login.aspx是登录页面。登录该站点后,通过提供有效的用户名和密码,您将被重定向到url http://localhost:2166/Account/froot_VerifyUsers.aspx,这是ReturnUrlurl 的一部分。

因此,您 100% 在您的站点中进行了身份验证设置。我的身份验证设置技能相当差,所以我无法帮助您进行配置。但我确信其他 SO 用户可以提供帮助,或者至少有很多关于 ASP.NET 身份验证的 SO 问题可以搜索。

于 2013-09-18T07:26:39.480 回答