[Mono-bugs] [Bug 385877] RolePrincipal.GetRoles returns null on Expired details.

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed May 7 11:36:03 EDT 2008


User ivan at chimerical.com.au added comment

Ivan Hamilton <ivan at chimerical.com.au> changed:

           What    |Removed                                         |Added
             Status|NEEDINFO                                        |NEW
      Info Provider|ivan at chimerical.com.au                          |

--- Comment #2 from Ivan Hamilton <ivan at chimerical.com.au>  2008-05-07 09:36:01 MST ---
"This patch doesn't look right - expired sessions should not be honored
anymore." Exactly. They shouldn't... they should be reloaded from the provider
(which is what this this if statement controls).

I couldn't come up with a "simple" case. We're dealing with expiry over time,
and all sorts of complexities.

The attached test case can be run with XSP2.
It has the cookie timeout set to 1 minute, and tests the RolePricipal at 20,40
& 60 second durations.

This should result in:
20: No change (same issue & expiry date).
40: Sliding cookie refresh (new issue & expiry date).
60: Expired cookie. Fresh ticket (new issue & expiry date).

It includes a dummy RoleProvider to show when Provider.GetRolesForUser is

Provider.GetRolesForUser called
Current Time:05/08/2008 01:19:12
Expire Date:05/08/2008 01:20:12
Encrypted Ticket:AQAAABCUlqjAfsoI4oVZzMB+yggBLwVSb2xlMQ==

Current Time:05/08/2008 01:19:32
Expire Date:05/08/2008 01:20:12
Encrypted Ticket:AQAAADLChbTAfsoI4oVZzMB+yggBLwVSb2xlMQ==

Provider.GetRolesForUser called
Current Time:05/08/2008 01:19:52
Expire Date:05/08/2008 01:20:52
Encrypted Ticket:AQAAAPoEdMDAfsoILjo35MB+yggBLwVSb2xlMQ==

Provider.GetRolesForUser called
Current Time:05/08/2008 01:20:52
Expire Date:05/08/2008 01:21:52
Encrypted Ticket:AQAAADQ9OOTAfsoIfHz7B8F+yggBLwVSb2xlMQ==

Server Error in '/' Application
Argument cannot be null. Parameter name: value
Description: HTTP 500. Error processing request.

Stack Trace: 
System.ArgumentNullException: Argument cannot be null.
Parameter name: value
  at System.String.Join (System.String separator, System.String[] value)
  at System.Web.Security.RolePrincipal.ToEncryptedTicket () [0x00000] 
  at PrinTest.Page_Load (System.Object sender, System.EventArgs e) [0x00000] 
  at System.Web.UI.Control.OnLoad (System.EventArgs e) [0x00000] 
  at System.Web.UI.Control.LoadRecursive () [0x00000] 
  at System.Web.UI.Page.ProcessLoad () [0x00000] 
  at System.Web.UI.Page.ProcessPostData () [0x00000] 
  at System.Web.UI.Page.InternalProcessRequest () [0x00000] 
  at System.Web.UI.Page.ProcessRequest (System.Web.HttpContext context)

Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

More information about the mono-bugs mailing list