在js中
if('<%Session["abc"]%>' == null)
{
window.location = "login.aspx";
}
if('<%Session["abc"]%>' == null)
{
window.location = "login.aspx";
}
解决方案 »
- 添加 popupmenu 后 mouseClick 事件不被触发
- gridview控件里面为什么点击下一页排序就无效了呢?
- 网站的管理日志功能
- asp.net进度条 脚本输出问题
- 网站系统中关联表都用UserID 关联。 而访问页面的QueryString偏向于使用用户名,那么这样每个查询在数据库就要多做一个关联查询,请问有什么解决方案吗?
- 求一个SQL统计,应该有点难度
- asp.net怎么连接oracl数据库【在线等】
- 奇怪的问题
- 使用DataReader填充DataGrid的问题
- how to 在.net中用服务端程序打开一个新页面
- c#操作table,并动态创建控件然后保存到数据库的难题.
- 关于vs2005比vs2003缺少一个功能的疑问?
{
Response.Redirect("login.aspx");
}
用户控件是怎样 的?
需要验证登陆的页面扔个什么?
protected void Page_Load(object sender, EventArgs e)
{
if (Session["UserName"]==null)
{
Response.Redirect("Login.aspx");
}
}
前台页面不用写,写完后保存,每个需要的页面扔一个,由于前台什么都没写,所以运行时是看不到的
没有登陆则跳转到
<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目录下的页面的时候,都会跳转到登陆页面.
如果必须使用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过期后激发但是并不能在这里重定向页面。