Pergunta

Eu estou tentando configurar o controle de login para lembrar as credenciais de login de um usuário que tenha entrado previamente o seu nome de usuário e senha com sucesso. I definir a me lembrar de propriedade como true, mas não parece triger eventos onde eu poderia ler o cookie e auto login do usuário.

Existe um mecanismo simples de conseguir isso?

Foi útil?

Solução

Você precisa do Google para Autenticação de Formulários no ASP.NET 2.0

Você precisará configurar seu aplicativo (via web.config) e também pode precisar alterar IIS configurações. Enquanto tudo é bastante simples, há montes de configurações que podem ser usados, então o melhor é ler alguns dos artigos. ScottGu tem um blog de entrada que vai para um monte de bons detalhes.

Há também muitos de boa vídeo em www.asp.net incluindo estes Tutoriais de segurança

Como: Criar um ASP.NET página de login e Passo a passo: Criando um web site com a adesão e login de usuário . Se bem me lembro, você ainda tem que fazer a autenticação si mesmo a menos que você use o SQL Server provedor Membership. Nesse caso, você ainda tem que configurar a base de dados e web.config.


Essencialmente, uma vez que você definir a configuração corretamente, você tem uma página de login. Em que página de login você dizer autenticação de formulários para criar o tíquete de autenticação para você uma vez você autenticá-los:

if (VerifyUser(name, password) ) // this is not a framework method
    FormsAuthentication.RedirectFromLoginPage(
        userName, false); // no persistent cookie

Se você quiser ler os dados do bilhete de autenticação (de qualquer outro lugar).

// output just writes to a StringBuilder 'sb' 
output(sb, "Identity.AuthenticationType", Page.User.Identity.AuthenticationType);

FormsIdentity fi = Page.User.Identity as FormsIdentity;
if (fi == null)
{
    output(sb, "Identity Type", Page.User.Identity.ToString());
    return;
}

output(sb, "FormsIdentity.Ticket.IssueDate", fi.Ticket.IssueDate);
output(sb, "FormsIdentity.Ticket.Expiration", fi.Ticket.Expiration);
output(sb, "FormsIdentity.Ticket.Name", fi.Ticket.Name);
output(sb, "FormsIdentity.Ticket.CookiePath", fi.Ticket.CookiePath);
output(sb, "FormsIdentity.Ticket.UserData", fi.Ticket.UserData);
output(sb, "FormsIdentity.Ticket.Version", fi.Ticket.Version);
output(sb, "FormsIdentity.Ticket.IsPersistent", fi.Ticket.IsPersistent);

O ponto é, uma vez autenticado, asp.net só irá redirecionar o usuário para a página de login, se o tíquete de autenticação expirou e o usuário está em uma página protegida. não Asp.net não manter pedindo-lhe para autenticar o usuário desnecessariamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top