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

HomeHomeUsing DNN Platf...Using DNN Platf...Administration ...Administration ...Help! Users "randomly" getting logged outHelp! Users "randomly" getting logged out
Previous
 
Next
New Post
5/25/2006 9:01 PM
 
Cathal,

Thanks for all the work. Is the plan to try and get this into 4.1?

Thanks

 
New Post
5/25/2006 9:37 PM
 

yes. I can now reliably recreate this both in 3.2 (with certain 3rd party modules), and 4.x (by forcing validators via webresource.axd), so I'm currently testing the fix to ensure I'd don't break anything (it took a bit to work out the specifics, as it only manifests when you have child portals, and are accessing with non-superuser user accounts). I'll be including this fix in both 3.3 and 4.1 - when I'm happy with it I'll post the details in the gemini issuelog and post back here so anyone who wants to make the changes in their code in advance can do so.

For those interested ,the problem is with requests mapped to a .net extension that doesn't contain either portalID or tabID, so we can't resolve the portal. These then fail in the VerifyPortalTab function in portalsettings.vb, which defaults to the primary portal (portalId=1). This issue is more prevalent in asp.net 2.0 due to the requests for validator javascript (rendered by webresource.axd). The validator's problem can be easily fixed by adding the following lines in dnnmembershipmodule.vb. but I'm still testing my current fix (fallback to previous request's value stored in Int32.Parse(PortalCookie.UserData) ), to ensure I'd don't open any security loopholes

'original lines

'First check if we are upgrading/installing

If Request.Url.LocalPath.EndsWith("Install.aspx") Then

Exit Sub

End If

'new lines

'skip any requests for validators javascript rendered by webresource.axd

If Request.Url.LocalPath.EndsWith(".axd") Then

Exit Sub

End If

Cathal


Buy the new Professional DNN7: Open Source .NET CMS Platform book Amazon US
 
New Post
5/31/2006 8:25 PM
 

*quick update*

I've opened this as an issue http://support.dotnetnuke.com/Default.aspx?p=2&i=3013 . The logout problem is caused when a request to an extension mapped to the asp.net is made. If this request does not have a portalID or tabID (from which portalID can be derived), then a portalID of 0 is assumed (as it's the primary portal - this allow's for wildcard portals). Later on in code, a check is made to see if the current portalID is different from the previous, and if so the cookies are expired, and the new portalID cookies are created. This is how we move between portals and maintain security. The two main causes of unwanted logouts are:

1) requests to asmx (webservices) or axd(either webresource.axd generating javascript for pages with validators, or the freetextbox editor using it's axd to serve resources). The fix for this was trivial and has been added to source, and will be in the next release. This is far and away the most common issue.

2) some 3rd party modules (a hitcounter, and a popular 3rd party articles module were the two that came up a few times), build requests without including portalID and tabID. This means they are not following dotnetnuke standards and requirements (their developers did not test them in a childportal, so may be unaware that they are broken).  Whilst we could ignore this as it's not DNN at fault, I've been trying to add code to detect this, and if there is an existing formsauthentication cookie, read it's portalID, and use it as a fallback, as it's easier (in theory) for us to code the exception in DNN than have you all chase down various module developers. However i'm having problems getting this correct, as I can't step through the code in debug mode because it causes corrupted formsauthentication tickets . I have to put this on hold for now, as I have a few other issues more bugs & enhancements I have to complete for release. I've left the gemini issue open, and hope to return to it and find a fix, but am not sure when I'll get a chance to do this.

Cathal


Buy the new Professional DNN7: Open Source .NET CMS Platform book Amazon US
 
New Post
6/1/2006 1:28 AM
 
I've made the modification to the DLL, but still not working.

Rgds,
Llamil
 
New Post
6/1/2006 6:17 AM
 

The actual change ended up taking into account other .net extensions so was actually like the one below (from memory, as i'm in work at present and cant see the code). Llamil, the trace you sent me doesn't correspond to any of the other traces, in line 292, theres a correctly formatted request with a tabid, but in line 293, the portalrolesid cookie has been exprired. As I mentioned in my email to you, I've had reports of unexplainable logouts on brinkster hosting for quite some time, and we've never been able to track it down as it appears to be a host specific issue. I've long suspected that brinkster have their sites in incorrectly configured webfarms, as from hearsay evidence many people have noticed a dramatic change for the better when they added a session("") variable to the top of their default.aspx (a session variable would create session affinity in a webfarm ensuring all requests go to the same machine, and are not passed around multiples in a webfarm [which would cause random logouts]). Sadly, theres little I can do to help with this as I do not have brinkster hosting. You could create a test page that creates a cookie, and then refresh the page a number of times and see if you get logged out at any point.

If Request.Url.LocalPath.ToLower.EndsWith(".aspx")=false Then

Exit Sub

End If


Buy the new Professional DNN7: Open Source .NET CMS Platform book Amazon US
 
Previous
 
Next
HomeHomeUsing DNN Platf...Using DNN Platf...Administration ...Administration ...Help! Users "randomly" getting logged outHelp! Users "randomly" getting logged out


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