web 2.0

LoginStatus et UrlRewriting

Bonjour a tous,

Comme vous l'avez surement remarqué l'utilisation d'un controle LoginStatus est assez périlleuse avec l'UrlRewriting ...

Voici donc la solution :)

        protected override void OnLoad(EventArgs e)
        {
           
// Set Logout Action and Url
            this.LoginStatus1.LogoutPageUrl = Context.Request.Url.AbsolutePath;
           
this.LoginStatus1.LogoutAction = LogoutAction.Redirect;

           
// If User not authenticated we change LoginStatus PostBackUrl manually
            if (!Page.User.Identity.IsAuthenticated)
            {
               
String loginUrl = FormsAuthentication.LoginUrl + "?ReturnUrl=" + Context.Request.Url.AbsolutePath;

               
foreach (Control c in this.LoginStatus1.Controls)
                {
                   
if (c is ImageButton)
                    {
                        ((
ImageButton)c).PostBackUrl = loginUrl;
                    }
                   
if (c is LinkButton)
                    {
                        ((
LinkButton)c).PostBackUrl = loginUrl;
                    }
                }
            }
           
base.OnLoad(e);
        }

 

Et voila ! N'hésitez pas a poster vos commentaires.

Yoann,



Views(621)

kick it on DotNetKicks.com

Share/Save/Bookmark Subscribe

Currently rated 5.0 by 2 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

ASP.NET | C#

Comments

Technorati Profile