Re: Forms Authentication without Login Page
From: Brad (nospam_at_co.lane.or.us)
Date: Fri, 19 Dec 2003 09:21:55 -0800
If I read your questions correctly, the quick answer is yes, you can do
exactly want your asking.
All you have to do is create the forms authentication ticket yourself when
the user logs in using your login dialog.
Here's an example of what you'd need to do:
Create a web user control which contains your sign-in dialog; a couple of
text boxes for name and password and perhaps a result label to display if
the login was incorrect. Code behind for this control would validate the
user and password, i.e. check them against a database. Then the code sets
the authentication cookie. i.e (very simple).
Include above web control in your page(s). Obviously you don't want to show
this login dialog if they are already logged in so you can just put code in
the above user control to hide itself or in the page(s) to hide the control.
i.e. (in the above user control)
Me.Visible = Request.IsAuthenticated = False
As for what you show in your pages you can simply test like the following
If Request.IsAuthenticated Then
' do stuff to show my authorized content
' do stuff to show my unauthorized content
Some references on this.
Hope this helps some
"Paul Hodgson" <email@example.com> wrote in message
> Is there any way to log someone in using Forms authentication *without*
> using RedirectFromLoginPage()?
> My reason for asking is that I'm trying to use Forms Authentication to
> users to login to a site, but I keep coming up against the problem that
> the MS examples show using a Login page that users are redirected to if
> try to access a protected page. Trouble is - our site doesn't really have
> protected pages. Any page is accessible to anyone - but if you're not
> in then the page will show different information from what it will show if
> you are logged in. Also, we don't want a separate login page, instead we
> want users to be able to login inline with small forms inside other pages.
> What this means I think is that I need to be able to do the following
> whenever a page is loaded:
> 1. Check explicitly if the user has been logged in using Forms
> Authentication so the code can decide what to display.
> 2. If appropriate, explicitly log the user in but without redirecting to
> anywhere else (if the user has just posted back to the page by filling in
> Login form).
> Any pointers on how to do that appreciated :-)