| |
Sign In
hi, i've read a lot of posts on microsoft.public.dotnet.framework.aspnet.security about people who ran into problems using forms authentication, and the RedirectFromLoginPage() method, which always redirects to a default.aspx. this is a big problem if you use sub-folders that don't have a default.aspx page, as in my case.i read some posts that suggested manually Response.Redirecting the user to the url in the querystring, but actually this is incorrect because Forms Auth puts the default.aspx in that querystring even if the user wasn't at a page called default.aspx.
i put together a simple solution to get the redirecting to work properly, and am posting it here for future reference:
Here is sample code:
***************** Login.aspx ***************** private void Page_Load(object sender, System.EventArgs e) { if(!IsPostBack) ViewState["originalUrl"] = Request.UrlReferrer.AbsoluteUri; } private void btnLogin_Click(object sender, System.EventArgs e) { string originalUrl = ViewState["originalUrl"]; if(originalUrl == null || originalUrl == "") // in case the viewstate is corrupt, use default.aspx by 'default' originalUrl = "default.aspx"; // do your password checking here // if it's all ok then... FormsAuthentication.SetAuthCookie(username, false); Response.Redirect(originalUrl, true); }
Remember Me