如何做到当session失效或没有登录时就转到登录页面?

abc666 2005-09-26 11:34:43
当访问一个需登录的页面时,实现rt功能


最好还来一句提示,“not login or timeout!”,然后就转到login.aspx


...全文
348 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
guanshenglang 2005-09-26
  • 打赏
  • 举报
回复
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(Session["UserID_P"]==null) //防session过期
{
Response.Write("<script language='javascript'>window.parent.location.href='../login.aspx';</script>");
}
}
whispers 2005-09-26
  • 打赏
  • 举报
回复
if(Session["Flag"]==null)
Response.Redirect("login.aspx");
9raul 2005-09-26
  • 打赏
  • 举报
回复
问我吧 qq114236121
abc666 2005-09-26
  • 打赏
  • 举报
回复
最好不要在每个需登录的页面里加大量相同的代码,最好是能加在@ Page directive或站点的其他控制文件中
abc666 2005-09-26
  • 打赏
  • 举报
回复
9raul(唯我) ( ) 的方法是:

class UserPage:System.Web.UI.Page
{
protected override OnLoad(...)
{
if(Convert.ToString(Session["username"])=="")
{
Response.Redirect("登录页面");
}
}
base.OnLoad(e);
}
所有要登录的页面都从这里继承,本来他们是直接从System.Web.UI.Page中继承的
Terrylee_1218 2005-09-26
  • 打赏
  • 举报
回复
---------------------------------------------
最好使用.net本身的form验证,web.config中设置
没有登陆则跳转到
<authentication mode="Forms">
<forms name="checkQX" loginUrl="admin/login.aspx" protection ="All" timeout="20"></forms>
</authentication>

<location path="admin">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>

</location>
这样用户没有登陆或Session过其的,去访问admin目录下的页面的时候,都会跳转到登陆页面.

---------------------------------------------------
首先你可以考虑使用<authentication mode="Forms">来配置,基于页面的验证。这个可以自动跳转。
如果必须使用session那么可以考虑使用下面大额方法:
首先需要对所有的session访问做一个包装类,不能直接访问。你可以实现一个叫SessionManager的类里面有类似下面的方法:
public object CurrentSession(){
try{
if(HttpContext.Current.Session != null){
return HttpContext.Current.Session
}
else{
HttpContext.Current.Response.Redirect("login.aspx");
}
return null;
}
catch(System.Threading.ThreadAbortException) {
// do nothing
}
}
所有的session都从这个函数中获得。
Session_End是一个服务器方法,它是在Session过期后激发但是并不能在这里重定向页面。
----------------------------------------------------------------------
参见:http://community.csdn.net/Expert/topic/4223/4223024.xml?temp=.4538538

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧