Asp:登录控件在第二次登录尝试时没有正确重定向

时间:2012-06-06 21:51:53

标签: asp.net login-control

如标题中所述,我使用的登录控件不会像第一次登录时那样重定向。问题是我第一次登录重定向是正确的(default.aspx),然后在i LogOut之后再次登录它会将我带到我登出的页面。我不知道该怎么做!感谢所有帮助!感谢名单!

<asp:Login ID="Login1" runat="server" DestinationPageUrl="~/Default.aspx" DisplayRememberMe="False"
TitleText="" UserNameLabelText="Username:" OnAuthenticate="Login1Authenticate" 
FailureText="Incorrect username or password" Width="100%" VisibleWhenLoggedIn="False" 
FailureAction="Refresh"  >
</asp:Login>

protected void Login1Authenticate(object sender, AuthenticateEventArgs e)
{
    var filecontent = Server.MapPath(@"~/App_Data/UsersFile.txt");
    var lines = File.ReadAllLines(filecontent);

    foreach (var line in lines)
    {
        if (line.Contains(@"username"))
        {
            var str = line; int index = str.IndexOf("=", StringComparison.Ordinal);
            var newstr = str.Substring(index + 1);
            Username = newstr.Trim();
        }
        if (line.Contains(@"password"))
        {
            var str = line; int index = str.IndexOf("=", StringComparison.Ordinal);
            var newstr = str.Substring(index + 1);
            Password = newstr.Trim();
        }

        if ((!Login1.UserName.Trim().Equals(Username)) || (!Login1.Password.Trim().Equals(Password))) continue;
        e.Authenticated = true;
        LogUserActions(Username, "Logged in successfully at: ");
        break;
    }

    if (e.Authenticated) return;
    LogUserActions(Username, "Failed to login in at: ");
    LoginStatus1_ModalPopupExtender.Show();
}

1 个答案:

答案 0 :(得分:1)

当我没有注意到页面上的Loginstatus属性时,我很傻。 这在添加LogoutActionLogOutURL后解决了我的问题。

<asp:LoginStatus ID="LoginStatus1" runat="server" 
LogoutAction="RedirectToLoginPage" LogoutPageUrl="~/Login.aspx" />