母版页并保护它 [英] master page and protected it

查看:61
本文介绍了母版页并保护它的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在实用程序中称为实用程序我有很多方法:

  public   static   string  readFromCookie( string  cookieName, string 键,HttpRequest req)
{
try
{
return req.Cookies [cookieName] [key] .ToString();
}
catch
{
return ;
}

}





  public   static   void  createCookie( string  cookieName, string  [] keys, string  [] values, bool  expierd,HttpResponse res)
{
// HttpResponse res = new HttpResponse();
HttpCookie c = new HttpCookie(cookieName);
if (keys!= null
{
for int x = 0 ; x < keys.Length; x ++)
c.Values.Add(keys [x],values [x]);
if (!expierd)
c.Expires = DateTime.Now.AddYears( 5 );
}
else
c.Expires = DateTime.Now.AddYears(-5);


res.Cookies.Add(c);
}









母版页面加载我写道:



  protected   void  Page_Load( object  sender,EventArgs e)
{
string user = utility.readFromCookie( login user,Request);
if (user!= null
{
if (user!= admin
Response.Redirect( ../ default.aspx);
}
else
Response.Redirect( ../ Default.aspx的);


}





管理页面加载:

< pre lang =cs> protected void Page_Load( object sender,EventArgs e)
{
string user = utility.readFromCookie( login user,Request);
if (user!= null
{
lblWillcome。 Text = 将回来: + user;
lbtnLogout.Visible = true ;
}
else
Response.Redirect( ../ Default.aspx的);
}
protected void lbtnLogout_Click( object sender,EventArgs e)
{
utility.removeCookie( login ,回应);
lbtnLogout.Visible = false ;
lblWillcome.Text = ;
Page_Load( null null );
Response.Redirect( ../ default.aspx);
}







总结我不会保护我的页面管理员所以当我点击链接按钮(lbtnlogout)我离开管理页面,所以当我在浏览器中点击它永远不会回到管理页面,但该代码它删除cookie但它回到管理页面,山楂我可以保护它所以它永远不会回到它> ;

解决方案

尝试使用

 Session.Abandon()
Session清除会话.Clear()



它会清除会话并清除缓存


in utility called utility i have many methods :

public static string readFromCookie(string cookieName, string key, HttpRequest req)
{
   try
   {
        return req.Cookies[cookieName][key].ToString();
   }
   catch
   {
       return null;
   }

}



public static void createCookie(string cookieName, string[] keys, string[] values, bool expierd, HttpResponse res)
{
   //    HttpResponse res =new  HttpResponse();
   HttpCookie c = new HttpCookie(cookieName);
   if (keys != null)
   {
       for (int x = 0; x < keys.Length; x++)
           c.Values.Add(keys[x], values[x]);
       if (!expierd)
           c.Expires = DateTime.Now.AddYears(5);
   }
   else
       c.Expires = DateTime.Now.AddYears(-5);


   res.Cookies.Add(c);
}





in page load of master page i write :

protected void Page_Load(object sender, EventArgs e)
{
    string user = utility.readFromCookie("login", "user", Request);
    if (user != null)
    {
        if(user !="admin")
            Response.Redirect("../default.aspx");
    }
    else
        Response.Redirect("../default.aspx");


}



in admin page load :

protected void Page_Load(object sender, EventArgs e)
{
    string user = utility.readFromCookie("login", "user", Request);
    if (user != null)
    {
        lblWillcome.Text = "willcome back   :   " + user;
        lbtnLogout.Visible = true;
    }
    else
        Response.Redirect("../default.aspx");
}
protected void lbtnLogout_Click(object sender, EventArgs e)
{
    utility.removeCookie("login", Response);
    lbtnLogout.Visible = false;
    lblWillcome.Text = "";
    Page_Load(null, null);
    Response.Redirect("../default.aspx");
}




in summary i wont to protecte my page admin so when i click the link button(lbtnlogout) i leave ihe admin page so when i click back in the browser it never back to admin page , but that code it remove cookies but it back to admin page , haw i can protect it so it never back to it >

解决方案

Try to clear the session using

Session.Abandon()
Session.Clear()


It will clear session and clear Cache also


这篇关于母版页并保护它的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆