关于权限的一点学习
我认为权限是个比较复杂的东东,我写了个简单的代码,就是登陆后把此用户的权限列表读出来,放在一个hashtable里,并放到一个session中,用的时候就比较这个菜单或一个文件的权限是否在hashtable中,不知道这种想法对不对,希望大家提出意见
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 Default5 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{//表示是否登陆
Session["username"] = "admin";
Hashtable ht = new Hashtable();
ht.Add("调查管理", "1");
ht.Add("新闻管理", "2");
ht.Add("会员管理", "3");
//权限表
Session["popedom"] = ht;
}
protected void Button2_Click(object sender, EventArgs e)
{
Session.Abandon();
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
if (Session["username"]!=null)
{
if (((Hashtable)Session["popedom"]).Contains("调查管理"))
{
LinkButton1.Text = "有调查管理权限";
}
}
else
{
LinkButton1.Text = "你没有调查管理权限";
Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "dd", "alert('你没有调查管理权限');", true);
}
}
protected void LinkButton2_Click(object sender, EventArgs e)
{
if (Session["username"]!=null)
{
if (((Hashtable)Session["popedom"]).Contains("新闻管理"))
{
LinkButton2.Text = "有新闻管理权限";
}
}
else
{
LinkButton2.Text = "你没有新闻管理权限";
Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "dd", "alert('你没有新闻管理权限');", true);
}
}
}
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 Default5 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{//表示是否登陆
Session["username"] = "admin";
Hashtable ht = new Hashtable();
ht.Add("调查管理", "1");
ht.Add("新闻管理", "2");
ht.Add("会员管理", "3");
//权限表
Session["popedom"] = ht;
}
protected void Button2_Click(object sender, EventArgs e)
{
Session.Abandon();
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
if (Session["username"]!=null)
{
if (((Hashtable)Session["popedom"]).Contains("调查管理"))
{
LinkButton1.Text = "有调查管理权限";
}
}
else
{
LinkButton1.Text = "你没有调查管理权限";
Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "dd", "alert('你没有调查管理权限');", true);
}
}
protected void LinkButton2_Click(object sender, EventArgs e)
{
if (Session["username"]!=null)
{
if (((Hashtable)Session["popedom"]).Contains("新闻管理"))
{
LinkButton2.Text = "有新闻管理权限";
}
}
else
{
LinkButton2.Text = "你没有新闻管理权限";
Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "dd", "alert('你没有新闻管理权限');", true);
}
}
}