Re: Forms authentication vs session variable
- From: "Bjorn Sagbakken" <bjo-sag@xxxxxxxxx>
- Date: Sat, 12 Apr 2008 16:46:07 +0200
I know how forms authentication works, at least basically. But since I
already have a running application using the session approach as I
described, my question is : Is that less safe than using forms
authentication? In case yes, I wonder why?
(--> meaning: should I modify the running application to raise the level of
security?)
In the next application I will use forms authentication, but I am a but
dubious on using the built-in feature for roles. All the data for the roles
will be stored in a SQL database, and the authorization levels will mostly
not differ user access to specific webpages, but much more detailed, like
enabling buttons and adding menu-selection. So I was thinking of storing
these authorization levels in session. But, of course, if there is a
dynamical way to use the built-in role feature without hardcoding this into
the web.config file, I will certainly consider this.
Bjorn
"Peter Bromberg [C# MVP]" <pbromberg@xxxxxxxxxxxxxxxxxxxx> wrote in message
news:1C1F8232-3E3C-417C-8FB2-42835BA4D7F0@xxxxxxxxxxxxxxxx
If you are using forms authentication, you would normally attach the user
object to the forms authentication ticket in
Application_AuthenticateRequest
(which fires for every page request). This then becomes available on any
page
in the User property; there is no need to store it in Session. You can
find
plenty of good sample code on how to do this including adding the user
Roles
to the ticket.
-- Peter
Site: http://www.eggheadcafe.com
UnBlog: http://petesbloggerama.blogspot.com
Short Urls & more: http://ittyurl.net
"Bjorn Sagbakken" wrote:
In a web-application with login creds (user, pwd), these are checked
against
a user table on a SQL server. On a positive validation I have saved the
userID, name, custno and role-settings in a userobject (custom build
class)
and added this to the session using as session variable like
session["User"]
For all other pages I have added a small test in the page_load event,
basically testing if the session["User"] != null, but also checking if
the
User-object contains a UserID != ""
Only if these tests are passed, the user gets the page reguested,
otherwise
he is redirected to the login page.
Well, all this works well, and I cannot see any security break here. The
only information that passes between the client and the server is the
sessionID, and this is supposed to be secure.
Still, I have been reading about using forms authentication (Cookie
authentication), and this is also easy implemented. The test in each page
is
somewhat similar. But my question is: Is this actually more secure, or is
it
just another way to do it?
Bjorn
.
- Follow-Ups:
- Re: Forms authentication vs session variable
- From: Eliyahu Goldin
- Re: Forms authentication vs session variable
- References:
- Forms authentication vs session variable
- From: Bjorn Sagbakken
- RE: Forms authentication vs session variable
- From: Peter Bromberg [C# MVP]
- Forms authentication vs session variable
- Prev by Date: "External component has thrown an exception" build error
- Next by Date: Batch Updates from a Grid
- Previous by thread: RE: Forms authentication vs session variable
- Next by thread: Re: Forms authentication vs session variable
- Index(es):