RE: Storing Role And User Id in UserData of FormAuthentication
From: societopia.net (societopianet_at_discussions.microsoft.com)
Date: 07/14/05
- Next message: Paul Clement: "Re: Connecting to DB and other resources outside the domain"
- Previous message: J-T: "Security context of httpContext,WindowsIdentity,Thread"
- In reply to: Jamie Pollard: "Storing Role And User Id in UserData of FormAuthentication"
- Next in thread: Dominick Baier [DevelopMentor]: "RE: Storing Role And User Id in UserData of FormAuthentication"
- Reply: Dominick Baier [DevelopMentor]: "RE: Storing Role And User Id in UserData of FormAuthentication"
- Reply: Jamie Pollard: "Re: Storing Role And User Id in UserData of FormAuthentication"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Date: Thu, 14 Jul 2005 12:09:02 -0700
Hi Jamie:
After you have assigned the GenericPrincipal to the
HttpContext.Current.User, you can always retrieve the User ID back from the
FormsAuthenticationTicket in the Context.User.Identity:
CType(CType(CType(Context.User.Identity,
System.Security.Principal.IIdentity),
System.Web.Security.FormsIdentity).Ticket,
System.Web.Security.FormsAuthenticationTicket).UserData
--- www.societopia.net "Jamie Pollard" wrote: > hello, > > i have been scouring the groups for the best possible solution to this > problem, but can't seem to find my exact scenario, so hopefully someone > can get me back on the right path. my situation is the following: > > i have a asp.net app that uses formsauthentication, and in the UserData > field we store the role value of what the user is (ie admin, user, > etc.). i want to also store the user id in this UserData field so i > have added that and separated it by a comma, so the value would look > something like "Admin,123". so on the Application_AuthenticateRequest > event in global.asax.vb i can easily split the values on the comma and > then have the roles which are used in: > > HttpContext.Current.User = New GenericPrincipal(id, asRoles) > > to verify whether they have access to certain directories or whatnot. > but within this GenericPrincipal there doesn't seem to be a place to > store this User Id value and have it readily available from each page. > i know you can do something like HttpContext.Current.User.Identity.Name > and that will give you the name value that you stored in the > formsauthentication ticket, but there still isn't a way to get the user > id. i tried setting a session variable in the > Application_AuthenticateRequest event to store the user id, but kept > getting an error; my thinking was that this way the authentication and > session would still be in sync because every time the user > authenticated, the session variable would be set (and i wouldn't be > using the session variable on pages that did not require > authentication). i have also seen where the id is appended to the Name > in the ticket, and then split out, but that doesn't seem very .net like > to me. > > so i guess my question is what am i missing? most examples i have seen > just store the "roles" in the user data field, and not multiple types > of data like user id, first name, last name, etc. > > thanks to any and all who respond, > jamie > >
- Next message: Paul Clement: "Re: Connecting to DB and other resources outside the domain"
- Previous message: J-T: "Security context of httpContext,WindowsIdentity,Thread"
- In reply to: Jamie Pollard: "Storing Role And User Id in UserData of FormAuthentication"
- Next in thread: Dominick Baier [DevelopMentor]: "RE: Storing Role And User Id in UserData of FormAuthentication"
- Reply: Dominick Baier [DevelopMentor]: "RE: Storing Role And User Id in UserData of FormAuthentication"
- Reply: Jamie Pollard: "Re: Storing Role And User Id in UserData of FormAuthentication"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Relevant Pages
|