user login problems

M

Mike P

I have some login code that works fine on several local machines, but
always fails when uploaded. I think it has something to do with
encryption. Here is the Submit_Click event which when the code is
uploaded always sets newUser to null, so I always get 'Login failed'.
PhilePrincipal.ValidateLogin is called to set the value of newUser and
this involves encryption (see code below). That is the only reason I
can think of why it is not working. Any ideas?

private void Submit_Click(object sender, System.EventArgs e)
{
PhilePrincipal newUser = PhilePrincipal.ValidateLogin(
EmailAddress.Text, Password.Text );
if (newUser == null)
{
LoginResult.Text = "Login failed for " + EmailAddress.Text;
LoginResult.Visible = true;
}
else
{
Context.User = newUser;
FormsAuthentication.SetAuthCookie( EmailAddress.Text, true );
Response.Redirect("default.aspx");
}
}

public static PhilePrincipal ValidateLogin(string emailAddress, string
password)
{
Configuration.ModuleSettings moduleSettings =
Configuration.ModuleConfig.GetSettings();
int newID;
byte[] cryptPassword = EncryptPassword( password );

Data.User dataUser = new Data.User( moduleSettings.ConnectionString
);
if ( (newID = dataUser.ValidateLogin(emailAddress, cryptPassword)) >
-1 )
return new PhilePrincipal( newID );
else
return null;
}

public static byte[] EncryptPassword(string password)
{
UnicodeEncoding encoding = new UnicodeEncoding();
byte[] hashBytes = encoding.GetBytes( password );
// compute SHA-1 hash.
SHA1 sha1 = new SHA1CryptoServiceProvider();
byte[] cryptPassword = sha1.ComputeHash ( hashBytes );
return cryptPassword;
}


Cheers,

Mike
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top