Array
(
)

por favor, Podem me ajudar ?

Willian Carvalho
   - 09 nov 2011

Olá, sou novo por aqui, estou com um probleminha. Preciso modificar o codigo abaixo para usar com um banco de dados ao inves de XML, será que alguém sabe como fazer isso, ou pelo menos me dar uma dica de como ? Fico muito agradecido. Quem puder me ajudar, faça o mais rápido possivel, preciso com urgencia.
Obrigado.
aqui vai o código;

private bool UserExists(string UserName)
{
//Create a data set to read the XML file.
DataSet dsUsers = new DataSet();
//Use error handling in case is file missing.
try
{
//Build the Users.xml file path.
string strXMLFile = Server.MapPath(.) + \\Users.xml;
//Read the file
dsUsers.ReadXml(strXMLFile, XmlReadMode.InferSchema);
//For each row in the Users table.
foreach (DataRow rowUser in dsUsers.Tables[Users].Rows)
{
//Check for name match.
if (rowUser[name].ToString() == UserName)
{
return true;
}
}
}
catch
{
//In case of error return False.
return false;
}
// Otherwise, return false
return false;
}
private bool PasswordValid(string UserName, string Password)
{
//Create a data set to read the XML file.
DataSet dsUsers = new DataSet();
//Use error handling in case is file missing.
try
{
// Build the Users.xml file path.
string strXMLFile = Server.MapPath(.) + \\Users.xml;
// Read the file
dsUsers.ReadXml(strXMLFile, XmlReadMode.InferSchema);
// For each row in the Users table.
foreach (DataRow rowUser in dsUsers.Tables[Users].Rows)
{
// Check for name match.
if (rowUser[name].ToString() == UserName)
{
if (rowUser[password].ToString() ==
FormsAuthentication.HashPasswordForStoringInConfigFile(Password, SHA1))
{
return true;
}
}
}
}
catch
{
// In case of error return False.
return false;
}
return false;
}

Evandro Lopes
   - 10 nov 2011

Willian bom dia, fiz um código hiper rapido e bem simples, nao cheguei nem mesmo a testar mas o caminho é exatamente esse q fiz, nao sei dizer se por ventura o HashPasswordForStoringInConfigFile irá funcionar, porém isso são detalhes que você pode verificar.

#Código

/// <summary>
///
/// </summary>
/// <param name=UserName></param>
/// <param name=Password></param>
/// <returns></returns>
private bool PasswordValid(string UserName, string Password)
{
try
{
//Verifica se o usuario existe passando como parametro o usuario e a senha discriptografada
if (UserExists(UserExists, FormsAuthentication.HashPasswordForStoringInConfigFile(Password, SHA1)))
{
return true;
}
else
{
return false;
}
}
catch
{
// In case of error return False.
return false;
}
return false;
}

/// <summary>
///
/// </summary>
/// <param name=UserName></param>
/// <param name=Password></param>
/// <returns></returns>
private bool UserExists(string UserName, string Password)
{
//Cria a conexão com banco de dados
SqlConnection conexao = new SqlConnection(string de conexao com BD);

try
{
//cria a consulta para verificar usuario e senha
string select = string.Format(SELECT COUNT(*) as qtdUsuario FROM TABELA WHERE usuario = {0} AND password = {1}, UserName, Password);

SqlCommand comm = new SqlCommand(select, conexao);

if (conexao.State == ConnectionState.Closed)
{
conexao.Open();
}

using (IDataReader reader = comm.ExecuteReader())
{
while (reader.Read())
{
if (reader.GetInt32(reader.GetOrdinal(qtdUsuario)) > 0)
{
return true;
}
else
{
return false;
}
}
}
}
catch
{
//In case of error return False.
return false;
}
finally
{
if (conexao.State == ConnectionState.Open())
{
conexao.Close();
}
}
// Otherwise, return false
return false;
}

Willian Carvalho
   - 10 nov 2011

Bom dia, agradeço a ajuda do Evandro, só tive que fazer umas modificações no codigo pra adaptar ao meu projeto, muito obrigado.