为什么点击安全退出就退出不了呢?只有关闭浏览器才能退出,郁闷!一般不就是清除COOKIES、SESSION什么的吗?这谁都知道!新了解User.Identity.Name。
页面代码:
if (!this.IsPostBack)
{
//判断用户是否登录
if (Session["UserGrade"]==null)
Session["UserGrade"]=DBOperate.GetUserGrade(User.Identity.Name);
Lbl_UserGrade.Text="用户级别:"+ Session["UserGrade"].ToString();
if ((User.Identity.Name==null)||(User.Identity.Name==""))
{
Lbl_UserName.Text="当前用户:过客";
}
else
{
Lbl_UserName.Text="当前用户:"+User.Identity.Name.ToString();
}
}
安全退出按钮代码:
FormsAuthentication.SignOut();
Session.Abandon();
Session.Clear();
Response.Cookies.Clear();
Response.Buffer = true;
Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1);
Response.Expires = 0;
Response.CacheControl = "no-cache";
Response.Redirect("default.aspx");
再怎么写,点击都退出不了,除了关闭浏览器;这怎么改?不可能说安全退出就要关闭浏览器才行吧?
回答:
我不推荐用session来保持状态,它的好处不说了,不好的地方我说说;
一,它是会话级的变量,当前会话结束,就消失了,不能永久保留信息,如购物车中的用户查阅商品的情况,这些信息没有什么安全性方面的考虑,为了用户方便,最好长时间保留下来;
二、占用内存资源;你用人家的服务器,人家不会让你太占用资源的;
三、当采用web园时,或webfarm时,会出一些问题,这个我解释一下,当你的网站流量大时,你不得不采用多台服务器,用来负载平衡,举例,当我登录时,我的请求分配到了第一服务器,登录完,session生成了,当我操作时,我的请求到了第一服务器,结果它太忙了,就把我分到了第二台服务器,第二台服务器的内存中有我的session吗?没有,于是,系统认为我没有登录,晕死吧;
我建议用cookies,各大网站也是采用它来保持状态的,当然,它有安全问题,在创建cookies时,最好采用加密手段,这个我就不说了;
如果安全性要求很高,像银行系统,那就得下载个插件到客户端了;session也靠不住的。
cookies的工作原理和session差不多,操作方式也差不多,不同是cookies的值存在客户端,而session的值是存在服务器端;但是,它们都有一个键值在客户端,这是没有办法的事情,否则像sesion,当用户登录后,如果客户没有留一点儿信息,服务器根本不会知道请求来自哪里。
我建议采用cookies来保持状态,这也是我的习惯。cookies的时效可以设很长,或是直到永远,呵呵,
石家庄网站建设的优点:我们是专属定制,制作符合您公司业务、风格的网站,这就做到给您制作的网站是网络上独一无二的网站,这样更有利于搜索引擎的收录。如果您喜欢网络上某个风格的网站或者网站模板,我们是只仿制而不直接套用,我们会对其中的结构和样式做增减优化,做…
竞价排名营销是一种通过 竞价购买搜索引擎中关键词或关键短语的广告方式。竞价排名营销分为两种类型。 第一种,直接为真正的搜索引擎结果的排名付费,也就是说付的钱越多,网页所获得的排名名也就越高。 第二种则更类似于普通的广告。这种竞价排名营销方式通过…
网站优化对网站来说是非常重要的,直接决定和影响着网站所起到的作用,以及在各个地方当中的排名。在进行seo优化的过程中,我们必须要坚持一定的原则,真正的把这些事情做得更好,才可以确保最终的结果,这对于我们来说是非常重要的事。 SEO优化主要分为8小步: …