网站分为前台用户和后台管理,其中后台管理页面比较多,前台我用Server.Execute("checkLogin.aspx?userID="+userID);实行身份验证,方式是用session验证的,checkLogin.aspx的后台代码如下:using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class checkLogin : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string stuID = Request.QueryString["userID"].ToString();
if (Session["isLogin"] == null || Session["isLogin"].ToString() != "1"||Session["userID"]==null||Session["userID"].ToString()!=userID)
{
Response.Redirect("../login.aspx");
}
}
}对于普通用户可以实现身份验证,但是对于后台页面,用同样的方法就不行,dropdownlist全部不能回传,即联动失效,也不知道什么原因,但是去掉Server.Execute("checkLogin.aspx);就行了;
于是改为form验证,但是又有新问题,因为网站有两个login.aspx,一个是根目录下的普通用户登录,还有一个管理目录admin下的login.aspx,页面跳转又成了新问题,到底去哪一个呢?有同志帮忙,说用基类,页面继承,但小弟初学,第一次写,不知道怎么写,也不知道用什么方法好,大家给一个建议,最好给我一个例子啊,我全部是自学的,只好求助大家了,在这里耽搁了一两天了;要方便验证,及验证内容修改,我选择的是session,因为网站需要多个管理员,每个管理员有不同的权限等级,所以后台的页面,对于不同的管理员的权限等级,有的可以访问,有的是无权访问的。我想在类中写成一个public函数,如checkLogin()通过这个函数,读出session里的用户名及管理权限等级,然在每个页面里调用,判断该管理员是否是合法访问及等级是否有权访问该页面,如果没有则跳转到登录页面,不知道这样可不可以,我没有写出来,没有办法在这个函数读出session里的值。请大家帮帮忙,谢谢呀。。我不知道我说清楚了没有。。
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class checkLogin : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string stuID = Request.QueryString["userID"].ToString();
if (Session["isLogin"] == null || Session["isLogin"].ToString() != "1"||Session["userID"]==null||Session["userID"].ToString()!=userID)
{
Response.Redirect("../login.aspx");
}
}
}对于普通用户可以实现身份验证,但是对于后台页面,用同样的方法就不行,dropdownlist全部不能回传,即联动失效,也不知道什么原因,但是去掉Server.Execute("checkLogin.aspx);就行了;
于是改为form验证,但是又有新问题,因为网站有两个login.aspx,一个是根目录下的普通用户登录,还有一个管理目录admin下的login.aspx,页面跳转又成了新问题,到底去哪一个呢?有同志帮忙,说用基类,页面继承,但小弟初学,第一次写,不知道怎么写,也不知道用什么方法好,大家给一个建议,最好给我一个例子啊,我全部是自学的,只好求助大家了,在这里耽搁了一两天了;要方便验证,及验证内容修改,我选择的是session,因为网站需要多个管理员,每个管理员有不同的权限等级,所以后台的页面,对于不同的管理员的权限等级,有的可以访问,有的是无权访问的。我想在类中写成一个public函数,如checkLogin()通过这个函数,读出session里的用户名及管理权限等级,然在每个页面里调用,判断该管理员是否是合法访问及等级是否有权访问该页面,如果没有则跳转到登录页面,不知道这样可不可以,我没有写出来,没有办法在这个函数读出session里的值。请大家帮帮忙,谢谢呀。。我不知道我说清楚了没有。。
解决方案 »
- VS2008右下角提示发布网站失败,但是也没有错误信息
- js加确认删除事件(急)
- Gridview实现多列排序并显示图标
- 各位好小弟有这有点小问题了!!!我在上传时文件时只要超过20M就不干活了直接就说此页不能显示!!!
- 动态添加DataGrid行的问题?
- 如何使頁面中的<div></div>及其中的控件隱藏?
- 如何读取Xml内容到DataSet中
- .net里的instr问题
- 关于在gridview中显示列属性的问题
- ASP.NET 一个DropDownList使用AJAX替换新值后,后台不能获取正确的值
- 初初学C#,IF语句就做不出来了
- ASP调试时好用,发布后不可用,请示“需要更高的ORACLE版本”
如果说的这个应用没有启用角色的话,你可以使用forms窗体认证.现实起来方便..安全.代码量少.支持多用户.
如果你是用vs2005可以使用membership来做..
至于继承一个page类,我觉得这样的做法太麻烦了.