Jump to content
Sign in to follow this  
sYnced

Problema ao fazer login

Recommended Posts

sYnced

Bem pessoal tenho o seguinte código no auth do login:

string cn = @"Data Source=Helder-HP\SQLEXPRESS;Initial Catalog=asp;Integrated Security=True";
   protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
   {
    SqlConnection cs = null;
    SqlCommand cmd = null;
    SqlDataReader dr = null;
    bool ok = false;
    try
    {
	    cs = new SqlConnection(cn);
	    cs.Open();
	    string querie = "";
	    querie = "SELECT Username, Password from login WHERE Username='" + Login1.UserName + "' and Password='" + Login1.Password + "'";
	    cmd = new SqlCommand(querie);
	    cmd.Connection = cs;
	    dr = cmd.ExecuteReader();
	    if (dr.HasRows)
	    {
		    ok = true;
	    }
    }
    finally
    {
	    if (ok != false)
	    {
		    Session.Add("login", Login1.UserName);
	    }
	    if (dr != null)
	    {
		    dr.Close();
	    }
    }

e dá me sempre o erro:

"A tentativa de início de sessão não teve êxito. Tente de novo."

estou a fazer esta verificação na página.

<div id="login">
    <%
	    if (Session["login"] != "")
	    {%>

		   <uc:Spinner id="Spinner1"
		    runat="server" />
	   <% }
	    else
	    {
		    pag = "login.ascx";
	    }
    %>

Será que me podem dar uma ajudinha ?

Share this post


Link to post
Share on other sites
nelsonr

Referia-me como é que tens o código para mostrar ou não essa mensagem.

No entanto, já experimentaste fazer debug e ver se está a passar correctamente na parte de adicionar o login à sessão?

Share this post


Link to post
Share on other sites
sYnced

Acho que adiciona tudo direito, não sei porque não aceita o login... é a primeira vez que estou a mexer em asp, mas eu carregando em login ve as cenas na BD e tudo (correto) e não me faz login na mesma

Share this post


Link to post
Share on other sites
nelsonr

Acho que o problema está na estrutura do evento de login e de quando mostras a mensagem.

A primeira vez que entras na página, a sessão não está definida, por isso deves estar logo a mostrar a mensagem "A tentativa de início de sessão não teve êxito. Tente de novo.".

Podes fazer desta forma:

Pôe a mensagem "A tentativa de início de sessão não teve êxito. Tente de novo." dentro de um label com o visible=false e o Spinner1 tambem com o visible=false

No evento do click do botão de login, fazes o teste acima indicado.

Caso o login falhe, metes o label da mensagem com o visible=true.

Caso o login seja valido, metes o spinner1.visible = true

Edited by nelsonr

Share this post


Link to post
Share on other sites
sYnced

mas aquilo devia meter na sessão caso o login fosse feito né ? e aquilo acabava por desaparecer ?

Share this post


Link to post
Share on other sites
nelsonr

Sim, o código de validação parece ok.

Se acaba por desaparecer? Só se esconderes.

Caso o login seja válido, podes esconder os campos de login/password

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.