我的用户登入是用session保存的,当我退出时做了session清空操作FormsAuthentication.SignOut();
Session.Clear();
Session.Abandon();
Response.Clear();
//清空缓存
Response.Buffer = true;
Response.ExpiresAbsolute = System.DateTime.Now.AddDays(-1);
Response.Expires = 0;
Response.CacheControl = "no-cache";
Response.AddHeader("pragma", "no=cache");
例子:
http://localhost:4118/Myhmo/AdminHMO/Login.aspx
问题:当我退出后,直接输入文件地址
http://localhost:4118/Myhmo/AdminHMO/SuccessStory/SuccessStory.aspx
确能够进去。
后来我调试,发现问题所在,session值是已经清空(session值确定已经清空)直接输入文件地址能进去。(因为没有删除游览器历史记录)
点工具--》删除游览器历史记录就可以了。
但是为什么删除游览器历史记录才就可以起到判断作用?如何在清空缓存的时候用程序清空游览器历史记录
我的判断代码if (!IsPostBack)
{
if (Session["user"] == null)
{
Response.Redirect("../index.aspx");
}
请问怎么解决?如何处理
Session.Clear();
Session.Abandon();
Response.Clear();
//清空缓存
Response.Buffer = true;
Response.ExpiresAbsolute = System.DateTime.Now.AddDays(-1);
Response.Expires = 0;
Response.CacheControl = "no-cache";
Response.AddHeader("pragma", "no=cache");
例子:
http://localhost:4118/Myhmo/AdminHMO/Login.aspx
问题:当我退出后,直接输入文件地址
http://localhost:4118/Myhmo/AdminHMO/SuccessStory/SuccessStory.aspx
确能够进去。
后来我调试,发现问题所在,session值是已经清空(session值确定已经清空)直接输入文件地址能进去。(因为没有删除游览器历史记录)
点工具--》删除游览器历史记录就可以了。
但是为什么删除游览器历史记录才就可以起到判断作用?如何在清空缓存的时候用程序清空游览器历史记录
我的判断代码if (!IsPostBack)
{
if (Session["user"] == null)
{
Response.Redirect("../index.aspx");
}
请问怎么解决?如何处理
解决方案 »
- 大侠们 急...小弟在线等(vbscript 打印excel换行问题)
- 一个BS架构的软件是网站吗
- 文本框搜索提示
- 我用的是杭州电信的宽带,我们自己的网站是http://www.hoterp.com
- 尋求sitemapprovider代碼
- 我在IIS上打开ASPX页面的时候,“服务器应用程序不可用”
- 求.Net和PHP都熟悉的高人帮忙翻译一下这段PHP代码
- 怎样在网上收费?
- 对两个表插入数据的时候,写第二个表时怎么样得到写入的第一个表产生的ID?
- 批量修改数据 要根据主键Id 批量修改字段Value的值 且 value 的值是不一样。
- List类的绑定?
- ASP.NET怎么循环取到GridView里面的值呢
if (Session["user"] == null)
{
Response.Redirect("../index.aspx");
}最好将判断session是否为空的操作写在基类中
让所有页面都继承这个基类
在页面加载时判断
{
if (!IsPostBack)
{
if (Session["user"] == null)
{
Response.Redirect("../index.aspx");
}
要放到ispostback外面?
引用 3 楼 q107770540 的回复:
SuccessStory 页面pageload内 ispostback外 添加这段代码:
if (Session["user"] == null)
{
Response.Redirect("../index.aspx");
}最好将判断session是否为空的操作写在基类中
让所有页面都继承这个基类
在页面加载时判断
我现在在模板页ispostback里外都加,还是不行protected void Page_Load(object sender, EventArgs e)
{
if (Session["user"] == null)
{
Response.Redirect("../index.aspx");
}
if (!IsPostBack)
{
if (Session["user"] == null)
{
Response.Redirect("../index.aspx");
}
Response.Expires = -1;
http://hi.baidu.com/zbphot/blog/item/98c4422cee7eeb3f349bf79b.html
我加了这个
Response.Expires = 0;
没有用
Response.Expires = -1;
http://hi.baidu.com/zbphot/blog/item/98c4422cee7eeb3f349bf79b.html
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Expires" content="0" />然后后台代码再加上protected void Page_Load(object sender, EventArgs e)
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Expires = 0;
Response.Buffer = true;
Response.ExpiresAbsolute = DateTime.Now.AddSeconds(-1);
Response.AddHeader("pragma", "no-cache");
Response.CacheControl = "no-cache";
if (!IsPostBack)
{
if (Session["role"] == null || Session["role"].ToString() == "")
{
Response.Redirect("Login.aspx");
}
}
},点击退出时,我转到处理一个页面,然后该页面写上if (!IsPostBack)
{
if (Session["role"] == null || Session["role"].ToString() == "")
{
Response.Redirect("Login.aspx");
}
Session.Remove("role");
Page.RegisterStartupScript("", "<script>location.href='首页';</script>");
}希望能帮到你!O(∩_∩)O~