Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   ASP .Net (http://www.velocityreviews.com/forums/f29-asp-net.html)
-   -   newbie: help with Forms Authentication & querystring (http://www.velocityreviews.com/forums/t87992-newbie-help-with-forms-authentication-and-querystring.html)

Derrick 10-05-2004 04:13 PM

newbie: help with Forms Authentication & querystring
 
Hello all;

Just starting out with ASP.NET. I want to protect a bunch of forms in a
folder using Forms Authentication. This much I have working. So when user
trys to access http://www.mywebsiteURL.com/securefo...ecurepage.aspx they are
automatically routed to www.mywebsiteURL.com/securefolder/login.aspx.

As part of the login process, I download the user's unique identifier
(user_id) from a SQL DB. I want other pages to have access to this
information (in case they need to go to the DB again), without using
cookies. I figured the best method was to stick the ID in the URL as a
querystring parameter. But my question is, how can the login page append
this querystring to the URL, if the URL currently does not have any
querystring parameters?

I.e., user surfs to the http://www.mywebsiteURL.com/securefo...ecurepage.aspx
page, gets directed to www.mywebsiteURL.com/securefolder/login.aspx, and in
turn should get routed to
http://www.mywebsiteURL.com/securefo...spx?user_id=12. The
FormsAuthentication.GetRedirectURL is (obviously) read-only - is there any
way to change it? I also tried catching the Authenticated event and doing
Response.Redirect, but that event isn't being fired for some reason...

I've googled with no luck :(

Thanks!

Derrick




Derrick 10-05-2004 04:33 PM

Re: newbie: help with Forms Authentication & querystring
 
PS: I'm calling the FormsAuthentication.RedirectFromLoginPage() function
after I validate the username/password. Is this necessary?

I guess in theory I could manually call FormsAuthentication.SetAuthCookie()
and then do a Response.Redirect(), generating the redirect URL from the
FormsAuthentication.GetRedirectURL() and appending the user_id
querystring...

I need a good book! :)

D

"Derrick" <derrick_dunne@hotmail.com> wrote in message
news:pMz8d.13372$jj2.723955@news20.bellglobal.com. ..
> Hello all;
>
> Just starting out with ASP.NET. I want to protect a bunch of forms in a
> folder using Forms Authentication. This much I have working. So when

user
> trys to access http://www.mywebsiteURL.com/securefo...ecurepage.aspx they are
> automatically routed to www.mywebsiteURL.com/securefolder/login.aspx.
>
> As part of the login process, I download the user's unique identifier
> (user_id) from a SQL DB. I want other pages to have access to this
> information (in case they need to go to the DB again), without using
> cookies. I figured the best method was to stick the ID in the URL as a
> querystring parameter. But my question is, how can the login page append
> this querystring to the URL, if the URL currently does not have any
> querystring parameters?
>
> I.e., user surfs to the http://www.mywebsiteURL.com/securefo...ecurepage.aspx
> page, gets directed to www.mywebsiteURL.com/securefolder/login.aspx, and

in
> turn should get routed to
> http://www.mywebsiteURL.com/securefo...spx?user_id=12. The
> FormsAuthentication.GetRedirectURL is (obviously) read-only - is there any
> way to change it? I also tried catching the Authenticated event and doing
> Response.Redirect, but that event isn't being fired for some reason...
>
> I've googled with no luck :(
>
> Thanks!
>
> Derrick
>
>
>




Derrick 10-05-2004 04:38 PM

Re: newbie: help with Forms Authentication & querystring
 
That worked! Thanks for reading :)

Derrick


"Derrick" <derrick_dunne@hotmail.com> wrote in message
news:B3A8d.13475$jj2.726863@news20.bellglobal.com. ..
> PS: I'm calling the FormsAuthentication.RedirectFromLoginPage() function
> after I validate the username/password. Is this necessary?
>
> I guess in theory I could manually call

FormsAuthentication.SetAuthCookie()
> and then do a Response.Redirect(), generating the redirect URL from the
> FormsAuthentication.GetRedirectURL() and appending the user_id
> querystring...
>
> I need a good book! :)
>
> D
>
> "Derrick" <derrick_dunne@hotmail.com> wrote in message
> news:pMz8d.13372$jj2.723955@news20.bellglobal.com. ..
> > Hello all;
> >
> > Just starting out with ASP.NET. I want to protect a bunch of forms in a
> > folder using Forms Authentication. This much I have working. So when

> user
> > trys to access http://www.mywebsiteURL.com/securefo...ecurepage.aspx they

are
> > automatically routed to www.mywebsiteURL.com/securefolder/login.aspx.
> >
> > As part of the login process, I download the user's unique identifier
> > (user_id) from a SQL DB. I want other pages to have access to this
> > information (in case they need to go to the DB again), without using
> > cookies. I figured the best method was to stick the ID in the URL as a
> > querystring parameter. But my question is, how can the login page

append
> > this querystring to the URL, if the URL currently does not have any
> > querystring parameters?
> >
> > I.e., user surfs to the

http://www.mywebsiteURL.com/securefo...ecurepage.aspx
> > page, gets directed to www.mywebsiteURL.com/securefolder/login.aspx, and

> in
> > turn should get routed to
> > http://www.mywebsiteURL.com/securefo...spx?user_id=12. The
> > FormsAuthentication.GetRedirectURL is (obviously) read-only - is there

any
> > way to change it? I also tried catching the Authenticated event and

doing
> > Response.Redirect, but that event isn't being fired for some reason...
> >
> > I've googled with no luck :(
> >
> > Thanks!
> >
> > Derrick
> >
> >
> >

>
>




=?Utf-8?B?S2VuIENveCBbTWljcm9zb2Z0IE1WUF0=?= 10-05-2004 07:21 PM

Re: newbie: help with Forms Authentication & querystring
 
Such a pleasure sitting here watching people think.... <grin>

"Derrick" wrote:

> That worked! Thanks for reading :)
>
> Derrick
>
>
> "Derrick" <derrick_dunne@hotmail.com> wrote in message
> news:B3A8d.13475$jj2.726863@news20.bellglobal.com. ..
> > PS: I'm calling the FormsAuthentication.RedirectFromLoginPage() function
> > after I validate the username/password. Is this necessary?
> >
> > I guess in theory I could manually call

> FormsAuthentication.SetAuthCookie()
> > and then do a Response.Redirect(), generating the redirect URL from the
> > FormsAuthentication.GetRedirectURL() and appending the user_id
> > querystring...
> >
> > I need a good book! :)
> >
> > D
> >
> > "Derrick" <derrick_dunne@hotmail.com> wrote in message
> > news:pMz8d.13372$jj2.723955@news20.bellglobal.com. ..
> > > Hello all;
> > >
> > > Just starting out with ASP.NET. I want to protect a bunch of forms in a
> > > folder using Forms Authentication. This much I have working. So when

> > user
> > > trys to access http://www.mywebsiteURL.com/securefo...ecurepage.aspx they

> are
> > > automatically routed to www.mywebsiteURL.com/securefolder/login.aspx.
> > >
> > > As part of the login process, I download the user's unique identifier
> > > (user_id) from a SQL DB. I want other pages to have access to this
> > > information (in case they need to go to the DB again), without using
> > > cookies. I figured the best method was to stick the ID in the URL as a
> > > querystring parameter. But my question is, how can the login page

> append
> > > this querystring to the URL, if the URL currently does not have any
> > > querystring parameters?
> > >
> > > I.e., user surfs to the

> http://www.mywebsiteURL.com/securefo...ecurepage.aspx
> > > page, gets directed to www.mywebsiteURL.com/securefolder/login.aspx, and

> > in
> > > turn should get routed to
> > > http://www.mywebsiteURL.com/securefo...spx?user_id=12. The
> > > FormsAuthentication.GetRedirectURL is (obviously) read-only - is there

> any
> > > way to change it? I also tried catching the Authenticated event and

> doing
> > > Response.Redirect, but that event isn't being fired for some reason...
> > >
> > > I've googled with no luck :(
> > >
> > > Thanks!
> > >
> > > Derrick
> > >
> > >
> > >

> >
> >

>
>
>


Derrick 10-05-2004 08:47 PM

Re: newbie: help with Forms Authentication & querystring
 
I really was stuck on this for a few hours. But I figure it is better to
come up with a solution myself while asking a question than to give up and
wait for you experts to solve my relatively little problems...I swear the
'net has us all spoiled (note the irony in posting to an ASP.NET group!)

Again, thanks for reading!

Derrick


"Ken Cox [Microsoft MVP]" <BANSPAMken_cox@sympatico.ca> wrote in message
news:4504F74B-D6F9-463B-A640-47D189D6BC1C@microsoft.com...
> Such a pleasure sitting here watching people think.... <grin>
>
> "Derrick" wrote:
>
> > That worked! Thanks for reading :)
> >
> > Derrick
> >
> >
> > "Derrick" <derrick_dunne@hotmail.com> wrote in message
> > news:B3A8d.13475$jj2.726863@news20.bellglobal.com. ..
> > > PS: I'm calling the FormsAuthentication.RedirectFromLoginPage()

function
> > > after I validate the username/password. Is this necessary?
> > >
> > > I guess in theory I could manually call

> > FormsAuthentication.SetAuthCookie()
> > > and then do a Response.Redirect(), generating the redirect URL from

the
> > > FormsAuthentication.GetRedirectURL() and appending the user_id
> > > querystring...
> > >
> > > I need a good book! :)
> > >
> > > D
> > >
> > > "Derrick" <derrick_dunne@hotmail.com> wrote in message
> > > news:pMz8d.13372$jj2.723955@news20.bellglobal.com. ..
> > > > Hello all;
> > > >
> > > > Just starting out with ASP.NET. I want to protect a bunch of forms

in a
> > > > folder using Forms Authentication. This much I have working. So

when
> > > user
> > > > trys to access http://www.mywebsiteURL.com/securefo...ecurepage.aspx

they
> > are
> > > > automatically routed to

www.mywebsiteURL.com/securefolder/login.aspx.
> > > >
> > > > As part of the login process, I download the user's unique

identifier
> > > > (user_id) from a SQL DB. I want other pages to have access to this
> > > > information (in case they need to go to the DB again), without using
> > > > cookies. I figured the best method was to stick the ID in the URL

as a
> > > > querystring parameter. But my question is, how can the login page

> > append
> > > > this querystring to the URL, if the URL currently does not have any
> > > > querystring parameters?
> > > >
> > > > I.e., user surfs to the

> > http://www.mywebsiteURL.com/securefo...ecurepage.aspx
> > > > page, gets directed to www.mywebsiteURL.com/securefolder/login.aspx,

and
> > > in
> > > > turn should get routed to
> > > > http://www.mywebsiteURL.com/securefo...spx?user_id=12. The
> > > > FormsAuthentication.GetRedirectURL is (obviously) read-only - is

there
> > any
> > > > way to change it? I also tried catching the Authenticated event and

> > doing
> > > > Response.Redirect, but that event isn't being fired for some

reason...
> > > >
> > > > I've googled with no luck :(
> > > >
> > > > Thanks!
> > > >
> > > > Derrick
> > > >
> > > >
> > > >
> > >
> > >

> >
> >
> >




navyjax2 11-28-2011 06:37 AM

Code?
 
I'm having the same issue and am probably more of a noob to Forms Authentication redirects than you are. Any chance you'd be willing to share what you did in code form?

navyjax2 11-28-2011 07:17 AM

Redirect with a QueryString Parameter
 
Actually, like my collegue above, I solved it on my own. This is in my Page_Load routine, where "DBAuthenticate()" is my method that returns the user ID if the stored procedure finds a match in the Users table for the UserName and Password values from the textboxes on the screen:

Code:

        if (IsPostBack)
        {
            int userID = DBAuthenticate();
            if (userID > 0)
            {
                string redirectUrl = "";
                string url = HttpContext.Current.Request.Url.ToString();
                string[] baseUrl = url.Split('/');
                for (int i = 0; i < baseUrl.Length-1; i++)
                {
                    redirectUrl += baseUrl[i] + "/";
                }
              // FormsAuthentication.RedirectFromLoginPage(txtUser.Text, false); // won't allow QueryString
                FormsAuthentication.SetAuthCookie(txtUser.Text, false);
                Response.Redirect(redirectUrl + "Default.aspx?UserID=" + userID); // ViewState doesn't persist to Default.aspx
            }
        }

HTH, Tom


All times are GMT. The time now is 05:29 AM.

Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57