Fórum USER CONTROL - EVENTO LOGGININ #8837

24/08/2009

0

No meu chamado 7562, atendido pelo Fabio Galante, eu tinha a necessidade de salvar o nome do usuário no momento do login.
Ele então me instruiu a usar o evento Loogingin conforme instruções abaixo.
Eu implementei essas instruções, liberei para utilização, entretanto somente agora decobri que quando
tem programação nesse evento, a autenticação é feita com qualquer senha mesmo que errada.
Como devo proceder?
Grato
Sidney
=============================================================
Faça o seguinte procure pelo evento LoggingIn do controle Login E implemente o seguinte método
protected void Login1_LoggingIn(object sender, LoginCancelEventArgs e)
    {
        MembershipUser user = Membership.GetUser(Login1.UserName);
        if (user!= null)
        {
           Session.RemoveAll();
            Session["%UsuarioNome"] = user.UserName;         }
    }
Sidney Mendonça/

Sidney Mendonça/

Responder

Posts

25/08/2009

Fabio Mans

Altere para o evento Authenticate.

protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
    {
        string userName = Login1.UserName;
        string password = Login1.Password;
        e.Authenticated = FormsAuthentication.Authenticate(userName, password);
    }

Fabio
Responder

Gostei + 0

25/08/2009

Sidney Mendonça/

Olá Fábio.   Fiz a alteração sugerida, entretanto o FormsAuthentication.Authenticate só retorna (false) independente da senha estar certa ou não.   Grato   Sidney     using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls; public partial class login : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {     }
    protected void LoginButton_Click(object sender, EventArgs e)
    {
    }
    protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
    {
        string userName = Login1.UserName;
        string password = Login1.Password;
        e.Authenticated = FormsAuthentication.Authenticate(userName, password);
    }
Responder

Gostei + 0

25/08/2009

Fabio Mans

Faça o seguinte, o método ValidateUser confirma as credenciais.




 protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
    {
        string usuario = Login1.UserName;
        string senha = Login1.Password;
        bool persiste = Login1.RememberMeSet;

        if (Membership.ValidateUser(usuario, senha))
        {
            FormsAuthentication.RedirectFromLoginPage(usuario, persiste);
        }
    }


Fabio
Responder

Gostei + 0

31/08/2009

Sidney Mendonça/

Chamado concluído.   Grato   Sidney
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar