LoginView и пользовательская аутентификация ASP.NET WF - PullRequest
0 голосов
/ 20 апреля 2011

У меня есть LoginView в MasterPage, когда пользователь не авторизован, приложение показывает LoginControl.ascx. В этом LoginControl.ascx я делаю аутентификацию. Проблема в том, что когда приложение аутентифицирует пользователя, LoginView не переключается с анонимного шаблона на шаблон аутентификации.

protected void btnLogin_clicked(object sender, EventArgs e)
{
    // check username and password
    if (PlatneJmeno(txtUsernane.Text) && PlatneHeslo(txtPassword.Text))
    {
        if (Membership.ValidateUser(txtUsernane.Text, txtPassword.Text))
        {
            //FormsAuthentication.RedirectFromLoginPage(txtUsernane.Text, false);
            Response.Redirect(Request.RawUrl);
        }
        else
        {
            Session["LoginError"] = true;
            Session["LoginFromPage"] = Request.RawUrl;
            Response.Redirect("login.aspx");
        }
    }
    else
    {
        Session["LoginError"] = true;
        Session["LoginFromPage"] = Request.RawUrl;
        Response.Redirect("login.aspx");
    }
}

хорошо, готово ...

FormsAuthentication.SetAuthCookie(txtUsernane.Text, false);

1 Ответ

0 голосов
/ 20 апреля 2011

Похоже, что проблема, с которой вы столкнулись, вызвана вызовом FormsAuthentication.RedirectFromLoginPage, закомментированным.

Этот вызов удаляет cookie, который сообщает ASP.NET, что пользователь прошел аутентификацию. Без файла cookie ASP.NET будет обрабатывать будущие запросы как не прошедшие проверку подлинности и по-прежнему отображать страницу входа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...