4
A
回答
0
将用户重定向到一个注销页,使用您的Global.asax文件中Session_End中()函数。请在这里看到更多的信息
编辑:没有,那可能不会做到这一点。见下面的评论。
如果你必须在会话过期时重定向,那么这样的事情会对你有用吗?
private void Page_Load(object sender, System.EventArgs e)
{
Response.AddHeader(“Refresh”,Convert.ToString((Session.Timeout * 60) + 5));
if(Session[“IsUserValid”].ToString()==””)
Server.Transfer(“Relogin.aspx”);
}
编辑2:警告,如果你有AJAX的东西,这可能会变得棘手。
我看过一些例子,人们会将它放在基页的page_load中,并从这个基页中包含所有的.aspx页面。这可以防止您必须为您拥有的每个页面添加此代码。
为什么第一种方法不能工作(Session_End)?这是一个会话结束时在服务器上内部调用的函数。因此,没有关联的重定向或传输请求/响应。即,关闭浏览器后20分钟,该功能可以被服务器调用。
1
我想你必须在你网站的一组页面上实现会话检查,所以一个好的方法是为所有“受限访问”页面声明一个基类。 喜欢的东西:
public class BasePage : System.Web.UI.Page
{
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
if (Session["Context"] == null)
{
// do redirect
}
}
}
假设,在登录时,你会指派代表列席会议,会议[“上下文”]对象
你的页面将继承这个类为:
public partial class _Default : BasePage { ... }
0
您可以检查HttpContext.Current.User.Identity.IsAuthenticated属性,该属性将允许您知道是否存在当前已通过身份验证的用户。
等乌尔页面加载
if (!HttpContext.Current.User.Identity.IsAuthenticated)
{
//FormsAuthentication.RedirectToLoginPage();
Response.Redirect("~/Login.aspx");
}
相关问题
- 1. 当会话超时时注销用户
- 2. HttpSessionListener没有检测到会话超时
- 3. WCF:如何检测会话超时?
- 4. 如何使用无Cookie会话检测会话超时
- 5. 使用spring3检测会话过期或会话超时
- 6. 检测会话超时/区分首次访问和会话超时
- 7. ASP.NET会话超时测试
- 8. 会话超时时获取用户当前页面
- 9. 当用户没有活动时的超时会话
- 10. 如何检测Apache Zookeeper会话何时丢失或超时?
- 11. 会话超时
- 12. 会话超时
- 13. 会话超时
- 14. 会话超时
- 15. 会话超时
- 16. 会话超时
- 17. 会话超时注销用户
- 18. 用户会话超时强制注销
- 19. Apache配置请求超时和用户会话超时
- 20. 检测会话超时并显示当会话即将在mvc中清除时弹出
- 21. 会话超时在菲奥里:请问SAP UI5或网关层提供当用户的会话超时
- 22. 如何测试会话超时?
- 23. 轮询时会话超时
- 24. PHP会话超时
- 25. JBoss会话超时
- 26. Jhipster会话超时
- 27. SonarQube会话超时
- 28. wxPython会话超时
- 29. 会话超时.NET
- 30. 会话超时Android
Session_End中是清理会话变量不是重定向用户到任何其他页面。 – Amitabh 2010-06-01 13:27:50
@Amitabh我thnk他的意思是在global.aspx功能 – Steven 2010-06-01 13:32:16
不,他是对的,我的坏。更新后的另一个解决方案。 – Tommy 2010-06-01 13:39:23