如何使用session实现分权限登录 如何使用session实现分权限登录,例如表中的status值为1或2来分权限如何用session取值并且验证和跳转,在线等 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把权限放在数组中,然后把数组放进SESSION中,后台读取SEEION取出数组,然后遍历数组是否有指定权限(比如某页限定权限为5),如果不存在,就跳转。 Session["Status"] = Status.Text;if Session["Status"]=1 thenResponse.write("");else这么跳?具体有代码么? 不需要多少代码哎,直接判断一下如果你的status为1那么Response.Redirect("权限为1的用户界面");反之,则跳转到其他权限页面或者,直接在一个页面判断下权限,哪个不显示,哪个显示! 如果LZ 是用不同页页代表权限体现的话,可通过!LZ写的code去实现呀!如果在一个页面中不同的权限按钮,要去动态的判断是否用户可用及可见性!!! //权限角色表检查 if(Session["log"]==null) { //添加权限 ArrayList list = new xxxx(Name);//得到权限列表,naem为用户名 Session["log"] = list; } #region 权限检查 bool Permission = true; if (Session["log"] != null) { ArrayList list = (ArrayList)Session["log"]; if (list.Contains("1")//本页需要权限1才可以进入) { Permission = false; } } if (Permission) { Response.Clear(); Response.Write("<script language=\"javascript\">alert(\"对不起你没有权限进入\");history.go(-1);</script>"); Response.End(); } #endregion在后台page_load事件中加入上面这段话就可以了 具体的判断以及取值的代码是什么,有人写一个么,我还不会呢.如何将Status的值取出并且判断权限啊 protected void Button1_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=StudentManager;Integrated Security=True"); SqlCommand cmd = new SqlCommand("select * from Userss where UserName='" + UserName.Text + "'", conn); //创建查询用户名是否存在数据对象 try { conn.Open(); //打开连接 SqlDataReader sdr = cmd.ExecuteReader(); if (sdr.Read()) //如果用户名输入正确 { if (sdr["UserPassword"].ToString() ==PassWord.Text)//密码正确 { conn.Close(); Session["UserName"] = UserName.Text.Trim();//存储用户名 bool Permission = true; if (Session["Status"] != null) { ArrayList list = (ArrayList)Session["Status"]; if (list.Contains("1")) { Permission = false; Response.Redirect("Default.aspx"); } } if (Permission) { Response.Clear(); Response.Write("<script language=\"javascript\">alert(\"对不起你没有权限进入\");history.go(-1);</script>"); Response.End(); } //Response.Redirect("Default.aspx"); //进入系统 } else { Response.Write("<script language=javascript>alert('您输入的密码错误!')</script>"); } } else { Response.Write("<script language=javascript>alert('您输入的用户名错误或该用户名不存在!')</script>"); } } catch (System.Exception ee) { Response.Write("<script language=javascript>alert('" + ee.Message.ToString() + "')</script>"); } finally { conn.Close(); } }}为什么这么改了不是跳转一个页面 而是弹出一个网页消息PassWord呢? 这样的session权限判断最好少用因为这样的权限如果做不好会出问题的还是放在数据库的验证好一些 把权限放到Session里 /// <summary> /// 执行权限检查 /// </summary> /// <param name="PermitID">权限ID</param> /// <returns></returns> protected bool PermitExcute(int PermitID) { DataTable m_dt=(DataTable)Session["UserPermitTable"]; var query = from pl in m_dt.AsEnumerable() where pl.Field<int>("Adm_FunItem_Id")==PermitID select pl; return (query.Count()>0) ? true : false; } 怎么为Session["Status"]赋值,验证到if (Session["Status"] != null)这个 赋值:session["Status"] = 值(好像能任意类型)验证:if(Session["Status"].ToString() != null) 你要从数据库表中取出值,然后付进Session中?为什么要这样做?说说你的思路吧。 要判断权限,Status中存各个用户的权限值,之后见表中的Status的值给Session["Status"]然后判断 Session["Status"] = sdr["Status"].ToString(); if (Session["Status"]!= null) { ArrayList list = (ArrayList)Session["Status"]; if (list.Contains("1")) { Permission = false; Response.Redirect("Default.aspx"); } }现在有这个就是会出错string无法转换为ArrayList怎么解决 结贴变33了``````````` 取到值 然后 在后台 NEW 一个TREEVIEW 有那个权限的就输出出来,没那个权限 就不输出那个树`` ArrayList 只能加上去,不能强制类型转换。 object list = Session["Status"];if (list.Equals("1")) ArrayList list = {Session["Status"]}; LZ的意思是,根据表中Status这一列的值来进行权限分配,如果登录进来的人的权限值是1那么就跳到、、、如果是2就跳到、、、 是这样吗? 如何做在线评测系统,目标群体是学生 菜鸟提问:session变量过期识别问题 好心人帮我看看这是哪里出问题了。为什么不能翻页??? inputfile 上传问题 当点击button控件选取父节点时,treeview控件会叠加的问题 >>>>>>>>新手请教,如何在web页面中打开Excel文件,并存入sql server 2000 哪里有.net framwork下载 在VS.net中無法新建項目????? 请大家帮忙啊~~ 为什么数据库总是连不上 vs终更改了代码,但是还是走原来的代码,为什么?在线等待 使用FileUpload上传,上传过程中想显示正在上传几个字,怎么弄啊?
Session["Status"] = Status.Text;if Session["Status"]=1 then
Response.write("");
else这么跳?具体有代码么?
或者,直接在一个页面判断下权限,哪个不显示,哪个显示!
LZ写的code去实现呀!如果在一个页面中不同的权限按钮,要去动态的判断是否用户可用及可见性!!!
//权限角色表检查
if(Session["log"]==null)
{
//添加权限
ArrayList list = new xxxx(Name);//得到权限列表,naem为用户名
Session["log"] = list;
}
#region 权限检查
bool Permission = true;
if (Session["log"] != null)
{
ArrayList list = (ArrayList)Session["log"];
if (list.Contains("1")//本页需要权限1才可以进入)
{
Permission = false;
}
}
if (Permission)
{
Response.Clear();
Response.Write("<script language=\"javascript\">alert(\"对不起你没有权限进入\");history.go(-1);</script>");
Response.End();
}
#endregion在后台page_load事件中加入上面这段话就可以了
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=StudentManager;Integrated Security=True");
SqlCommand cmd = new SqlCommand("select * from Userss where UserName='" + UserName.Text + "'", conn); //创建查询用户名是否存在数据对象
try
{
conn.Open(); //打开连接
SqlDataReader sdr = cmd.ExecuteReader();
if (sdr.Read()) //如果用户名输入正确
{
if (sdr["UserPassword"].ToString() ==PassWord.Text)//密码正确
{
conn.Close();
Session["UserName"] = UserName.Text.Trim();//存储用户名 bool Permission = true;
if (Session["Status"] != null)
{
ArrayList list = (ArrayList)Session["Status"];
if (list.Contains("1"))
{
Permission = false;
Response.Redirect("Default.aspx");
}
}
if (Permission)
{
Response.Clear();
Response.Write("<script language=\"javascript\">alert(\"对不起你没有权限进入\");history.go(-1);</script>");
Response.End();
}
//Response.Redirect("Default.aspx"); //进入系统
}
else
{
Response.Write("<script language=javascript>alert('您输入的密码错误!')</script>");
}
}
else
{
Response.Write("<script language=javascript>alert('您输入的用户名错误或该用户名不存在!')</script>");
}
} catch (System.Exception ee)
{
Response.Write("<script language=javascript>alert('" + ee.Message.ToString() + "')</script>");
}
finally
{
conn.Close();
}
}
}
为什么这么改了不是跳转一个页面 而是弹出一个网页消息PassWord呢?
这样的session权限判断最好少用
因为这样的权限如果做不好会出问题的
还是放在数据库的验证好一些
/// 执行权限检查
/// </summary>
/// <param name="PermitID">权限ID</param>
/// <returns></returns>
protected bool PermitExcute(int PermitID)
{
DataTable m_dt=(DataTable)Session["UserPermitTable"];
var query = from pl in m_dt.AsEnumerable() where pl.Field<int>("Adm_FunItem_Id")==PermitID select pl;
return (query.Count()>0) ? true : false;
}
验证:if(Session["Status"].ToString() != null)
if (Session["Status"]!= null)
{
ArrayList list = (ArrayList)Session["Status"];
if (list.Contains("1"))
{
Permission = false;
Response.Redirect("Default.aspx"); }
}现在有这个就是会出错string无法转换为ArrayList怎么解决
取到值 然后 在后台 NEW 一个TREEVIEW 有那个权限的就输出出来,没那个权限 就不输出那个树``
if (list.Equals("1"))