Problema con password mysql

giovedì 22 gennaio 2009 - 09.50

Gemini Profilo | Expert

Ciao a tutti,
premetto che non so se è un problema che dipende da asp,net 1.1 o da mysql.
Ho realizzato un form di login e come db uso mysql 5.1
Quando provo a logarmi mi dice sempre password non corretta. All'inizio pensavo che l'errore fosse dovuto a mysql perchè mancava old-password nel file mysql.ini. Ho aggiunto old-password, ho reinserito le password, ma continua a dirmi password errata.
Da cosa dipende?
Grazie mille

alx_81 Profilo | Guru

>Ciao a tutti,
Ciao!

>premetto che non so se è un problema che dipende da asp,net 1.1
>o da mysql.
>Ho realizzato un form di login e come db uso mysql 5.1
>Quando provo a logarmi mi dice sempre password non corretta.
>All'inizio pensavo che l'errore fosse dovuto a mysql perchè mancava
>old-password nel file mysql.ini. Ho aggiunto old-password, ho
>reinserito le password, ma continua a dirmi password errata.
>Da cosa dipende?
Prima dicci come fai l'autenticazione. Illustraci come richiedi la password e posta un po' di codice che può aiutarci.

>Grazie mille
di nulla!

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

Gemini Profilo | Expert

Ciao,
ecco un pò di codice:

private void btnLogin_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
QuerySystem qs = new QuerySystem();
string autorizzazione = string.Empty;

string user_code = qs.getLogin(userName.Text, password.Text, out autorizzazione);
qs.Disconnect();

if(user_code!=string.Empty && (autorizzazione=="admin" || autorizzazione=="superadmin"))
{
string nome=userName.Text+": " + autorizzazione;
object current_user_code = user_code;

FormsAuthentication.RedirectFromLoginPage(nome,false);
}
else
{
lblError.Text=cs.ERR_DESC_TITLE_GENERIC_ERROR;
lblErrorDesc.Text=cs.ERR_DESC_LOGIN_ERROR;
return;
}
}

public string getLogin (string Username, string Password, out string autorizzazione)
{
Username = Username.Replace ("\'", "\'\'").Replace("’","\'\'");
Password = Password.Replace ("\'", "\'\'");

string strSql ="select user_id, nome, autorizzazione from utenti " +
" where username=\'" + Username + "\' and password=PASSWORD(\'" + Password + "\')";

MySqlDataReader theMySqlDataReader = this.das.myDataRead (strSql);

if (theMySqlDataReader.Read ())
{
autorizzazione = theMySqlDataReader["autorizzazione"].ToString ();
return theMySqlDataReader["user_id"].ToString();
}
else
{
autorizzazione = "";
theMySqlDataReader.Close ();
return string.Empty;
}
}

alx_81 Profilo | Guru

> if(user_code!=string.Empty && (autorizzazione=="admin" || autorizzazione=="superadmin"))
a questo punto sei sicuro che autorizzazione valga "admin" o "superadmin"?

> string strSql ="select user_id, nome, autorizzazione from utenti " + " where username=\'" + Username + "\' and password=PASSWORD(\'" + Password + "\')";
Hai provato a prendere questa select come viene composta e a farla girare su un tool che faccia le interrogazioni a mysql? Se non ti dà risultato utile l'errore è qui.
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5