Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDNN Open Source...DNN Open Source...Provider and Extension ForumsProvider and Extension ForumsAuthenticationAuthenticationDNN 4.5.1 and Up Possible Reason For Authentication Problems InsideDNN 4.5.1 and Up Possible Reason For Authentication Problems Inside
Previous
 
Next
New Post
6/20/2007 2:01 AM
 

Shaun pointed out to me tonight that a small change was done in the DNNMembershipModule.vb file for 4.5.1 that would force a logout if the currently cached user object didn't match the user in the hard auth cookie.

Basically the chunk of code looks like this:

' authenticate user and set last login ( this is necessary for users who have a permanent Auth cookie set )
If objUser Is Nothing OrElse objUser.Membership.LockedOut = True OrElse objUser.Membership.Approved = False _
   OrElse objUser.Username <> Context.User.Identity.Name Then

   Dim objPortalSecurity As New PortalSecurity
   objPortalSecurity.SignOut()

 

objUser.Username <> Context.User.Identity.Name  looks like it's causing the problem. If you have any programming background you'll know that when you compare strings the following strings are not the same (domain\username and DOMAIN\username) even though at a glance you don't even notice the difference. In my test install that was having the problem the username was in the database as domain\username which is how objUser.Username was returning it but Context.User.Identity.Name was returning DOMAIN\username which the correct pre-Windows 2000 standard.

So what I need those of you that are having problems to do is to check the Users table in the database and see what case the domain name is. My guess is that it's in lowercase. If you could pick a few user accounts that you know are having problems (and can check to see if this fix works) and change the domain case from lower to upper (or vice versa) . If you could post back here once you tested a few accounts it would be greatly appreciated.

 
New Post
6/20/2007 2:53 AM
 

Iv actually been looking at the problem also, and depending on from which server i logon from i get different users:

Windows 2000 Terminal server (Citrix) DOMAIN\username
Windows 2003 Terminal domain\username
Windows XP DOMAIN\username
Visual Studio Development build it IIS domain\username

 
New Post
6/20/2007 8:23 AM
 

Definitely a case where the string should be changed to all upper or lower case before comparison...

I'll test it out with manual login...

 
New Post
6/20/2007 8:38 AM
 

Logging in manually works for the most part...

DOMAIN\username and domain\username both work, but DOMAIN\USERNAME and domain\USERNAME do "not" work.

This code doesn't work at a module level, does it?

 
New Post
6/20/2007 12:52 PM
 

How do you mean at a module level Dan?

Shaun has already applied a fix (http://support.dotnetnuke.com/issue/ViewIssue.aspx?ID=5829) to the offending code that changes the highlighted line of code above to the following objUser.Username.ToLower <> Context.User.Identity.Name.ToLower which will force both to lower case and will solve the problem no matter how the domain or username is entered. It'll be part of the 4.5.4 stabilization release.

 
Previous
 
Next
HomeHomeDNN Open Source...DNN Open Source...Provider and Extension ForumsProvider and Extension ForumsAuthenticationAuthenticationDNN 4.5.1 and Up Possible Reason For Authentication Problems InsideDNN 4.5.1 and Up Possible Reason For Authentication Problems Inside


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out