REPOST: bug in Forms Authentication

T

Tim_Mac

hi, i tried posting this last month but got no takers, trying again!

i have a minor problem where some users log in with capital letters
for their username, which looks bad when displayed on screen and also
causes discrepancies in some user activity logs maintained in the
database, e.g. "JOE BLOGGS Login" and "Joe Bloggs Login". in an
attempt to standardise the username case, i tried to read the correct
username from the database, this code used to work fine:

protected void Login1_LoggedIn(object sender, EventArgs e)
{
// find the Membership User
MembershipUser u = Membership.GetUser(this.Login1.UserName);
if(u == null)
throw new Exception("Could not locate user account for
" +
this.Login1.UserName);

// use the correct username case (from the aspnetdb database)
for the
login cookie
FormsAuthentication.SetAuthCookie(u.UserName, true);

}

but there seems to be a behaviour change since asp.net 3.5, this code
no longer works as expected, Membership.Username now returns the same
case as was submitted by the user, so the Username property is
actually not coming from the database at all. surely this can't be
'by design'?? can anyone confirm if this is a bug, and/or suggest a
workaround?
many thanks
tim
 

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

Members online

Forum statistics

Threads
473,744
Messages
2,569,479
Members
44,900
Latest member
Nell636132

Latest Threads

Top