关于权限管理 我现在做一个管理系统 涉及到权限管理这个模块由于刚接触这个 没多少经验 求个成熟的权限管理模块能够让管理员分配用户角色,能够自由给角色分配权限当然简单一点的权限管理也可以请大家帮忙了 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 同上asp.net(c#) QQ群59196458 要完整代码,就得自己找了.常规的做法就是:人员表人员所属角色表角色权限表(有个这三张表,就可以实现人员 - 权限 的对应了,这样只要把人分为对应的角色,给角色分权限就好了.)页面验证的时候,在基页类(前台页面的基类)中添加Load事件,所有的台前页面继承这个BasePage. <%@ Page Language="C#" MasterPageFile="~/manager/MasterPage.master" AutoEventWireup="true" CodeFile="role_list.aspx.cs" Inherits="Manager_role_list" %><asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <div class="forumno category"> 权限设置<asp:Label ID="Label1" runat="server"></asp:Label> </div> <table style="width: 100%" border="1" cellpadding="0" cellspacing="0"> <tr> <td style="width: 140px; text-align: center"> 系统用户管理</td> <td> <asp:CheckBoxList ID="c1" runat="server" RepeatColumns="4"> <asp:ListItem Value="101">查看系统用户</asp:ListItem> <asp:ListItem Value="102">添加系统用户</asp:ListItem> <asp:ListItem Value="103">编辑系统用户</asp:ListItem> <asp:ListItem Value="104">删除系统用户</asp:ListItem> <asp:ListItem Value="105">编辑系统用户权限</asp:ListItem> <asp:ListItem Value="106">导出系统用户联系方式</asp:ListItem> </asp:CheckBoxList> </td> </tr> <tr> <td style="width: 140px; text-align: center"> 用户帐户管理</td> <td> <asp:CheckBoxList ID="c2" runat="server" RepeatColumns="5"> <asp:ListItem Value="201">查看帐户</asp:ListItem> <asp:ListItem Value="202">添加帐户</asp:ListItem> <asp:ListItem Value="203">修改帐户信息</asp:ListItem> <asp:ListItem Value="204">删除帐户</asp:ListItem> <asp:ListItem Value="205">导出联系方式</asp:ListItem> <asp:ListItem Value="206">会员状态设置</asp:ListItem> </asp:CheckBoxList> </td> </tr> <tr> <td style="width: 140px; text-align: center"> 日志管理</td> <td> <asp:CheckBoxList ID="c3" runat="server" RepeatColumns="3"> <asp:ListItem Value="301">查看系统日志</asp:ListItem> <asp:ListItem Value="302">查看用户日志</asp:ListItem> <asp:ListItem Value="303">删除用户日志</asp:ListItem> </asp:CheckBoxList> </td> </tr> <tr> <td style="width: 140px; text-align: center"> 广告管理</td> <td> <asp:CheckBoxList ID="c4" runat="server" RepeatColumns="5"> <asp:ListItem Value="401">查看广告</asp:ListItem> <asp:ListItem Value="402">添加广告</asp:ListItem> <asp:ListItem Value="403">编辑广告</asp:ListItem> <asp:ListItem Value="404">删除广告</asp:ListItem> <asp:ListItem Value="405">查看相关图片</asp:ListItem> <asp:ListItem Value="406">添加相关图片</asp:ListItem> <asp:ListItem Value="407">编辑相关图片</asp:ListItem> <asp:ListItem Value="408">删除相关图片</asp:ListItem> </asp:CheckBoxList> </td> </tr> <tr> <td style="width: 140px; text-align: center"> 留言管理</td> <td> <asp:CheckBoxList ID="c5" runat="server" RepeatColumns="4"> <asp:ListItem Value="501">添加留言</asp:ListItem> <asp:ListItem Value="502">回复留言</asp:ListItem> <asp:ListItem Value="503">删除留言</asp:ListItem> </asp:CheckBoxList> </td> </tr> <tr> <td style="text-align: center" colspan="2"> <br /> <asp:Button ID="Button1" runat="server" Text="保存" onclick="Button1_Click" Width="32px" /> <input id="Reset1" type="reset" value="重置" /> <asp:Button ID="Button2" runat="server" Text="关闭" onclick="Button2_Click" Width="31px" /> <br /> </td> </tr> </table></asp:Content> public partial class Manager_role_list : System.Web.UI.Page{ public void Login() { Administrator islogin = new Administrator(); } public void Quanxian(string quanxian) { string s = quanxian; string[] array = s.Split(','); int arrayLength = array.Length; bool isOK = false; for (int i = 0; i < arrayLength; i++) { if (array[i] == "105") { isOK = true; break; } } if (!isOK) { WebMessage message3 = new WebMessage("提示!", "对不起,您没有此项操作的权限!<a href=\"Default.aspx\">[转到管理中心]</a>", "ok.gif", HttpContext.Current.Request.Url.PathAndQuery); message3.SaveMessage(message3); base.Response.Redirect("message.aspx"); } } public void ShowMessage(string str) { WebMessage m = new WebMessage("提示!", str, "ok.gif", HttpContext.Current.Request.Url.PathAndQuery); m.SaveMessage(m); base.Response.Redirect("message.aspx"); } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Login(); } protected void Button2_Click(object sender, EventArgs e) { Response.Redirect("Administrator.aspx"); } protected void Button1_Click(object sender, EventArgs e) { Login(); string mid = Request.QueryString["mid"].ToString(); SqlConnection connection = DBConnClass.CreatCon(); connection.Open(); string str = ""; for (int i1 = 0; i1 < this.c1.Items.Count; i1++) { if (c1.Items[i1].Selected) { str = str + c1.Items[i1].Value.Trim() + ","; } } for (int i2 = 0; i2 < this.c2.Items.Count; i2++) { if (c2.Items[i2].Selected) { str = str + c2.Items[i2].Value.Trim() + ","; } } for (int i3 = 0; i3 < this.c3.Items.Count; i3++) { if (c3.Items[i3].Selected) { str = str + c3.Items[i3].Value.Trim() + ","; } } new SqlCommand("update admin set Quanxian='" + str + "' where id=" + mid + "", connection).ExecuteNonQuery(); connection.Close(); this.Label1.Text = ("<script>window.location.href='Administrator.aspx';alert(\"恭喜:权限设置成功!\")</script>"); }} 表名 Role存储角色信息(权限系统)字段名 数据类型 说明Role_id bigInt (8) 角色IDRole_name Varchar(200) 角色名称 表名 Permission存储权限信息(权限系统)字段名 数据类型 说明Permission_id bigInt (8) 权限IDPermission_name Varchar(200) 权限名称Permission_ Varchar(200) 权限备注 表名 Employee_Role人员角色关系表(权限系统)字段名 数据类型 说明Employee_login_id bigInt (8) 人员账号编号IDRole_id bigInt (8) 角色编号ID 表名 Role_Permission角色权限关系表(权限系统)字段名 数据类型 说明Role_id bigInt (8) 角色编号IDPermission_id bigInt (8) 权限编号ID 工厂模式接口的一些问题 页面加载了两次? 有没有根据地址获取完整地址的方法 asp.net中公共变量的问题 如何让sql中的字段始终大于0 怎样在vs中,加入treeview控件? 一点开页面 ,页面就不显示工具栏,菜单栏,地址栏 SSO 单点登录,做过的大神进来下。 线程中如何调用同一页下的js函数? 想让RadioButtonList在一排显示怎么办,见内,谢谢. 大家来看看,一个时间正则的问题 treeview控件显示本地文件夹的信息
asp.net(c#) QQ群59196458
常规的做法就是:
人员表
人员所属角色表
角色权限表
(有个这三张表,就可以实现人员 - 权限 的对应了,这样只要把人分为对应的角色,给角色分权限就好了.)页面验证的时候,在基页类(前台页面的基类)中添加Load事件,所有的台前页面继承这个BasePage.
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div class="forumno category">
权限设置<asp:Label ID="Label1" runat="server"></asp:Label>
</div>
<table style="width: 100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td style="width: 140px; text-align: center">
系统用户管理</td>
<td>
<asp:CheckBoxList ID="c1" runat="server" RepeatColumns="4">
<asp:ListItem Value="101">查看系统用户</asp:ListItem>
<asp:ListItem Value="102">添加系统用户</asp:ListItem>
<asp:ListItem Value="103">编辑系统用户</asp:ListItem>
<asp:ListItem Value="104">删除系统用户</asp:ListItem>
<asp:ListItem Value="105">编辑系统用户权限</asp:ListItem>
<asp:ListItem Value="106">导出系统用户联系方式</asp:ListItem>
</asp:CheckBoxList>
</td>
</tr>
<tr>
<td style="width: 140px; text-align: center">
用户帐户管理</td>
<td>
<asp:CheckBoxList ID="c2" runat="server" RepeatColumns="5">
<asp:ListItem Value="201">查看帐户</asp:ListItem>
<asp:ListItem Value="202">添加帐户</asp:ListItem>
<asp:ListItem Value="203">修改帐户信息</asp:ListItem>
<asp:ListItem Value="204">删除帐户</asp:ListItem>
<asp:ListItem Value="205">导出联系方式</asp:ListItem>
<asp:ListItem Value="206">会员状态设置</asp:ListItem>
</asp:CheckBoxList>
</td>
</tr>
<tr>
<td style="width: 140px; text-align: center">
日志管理</td>
<td>
<asp:CheckBoxList ID="c3" runat="server" RepeatColumns="3">
<asp:ListItem Value="301">查看系统日志</asp:ListItem>
<asp:ListItem Value="302">查看用户日志</asp:ListItem>
<asp:ListItem Value="303">删除用户日志</asp:ListItem>
</asp:CheckBoxList>
</td>
</tr>
<tr>
<td style="width: 140px; text-align: center">
广告管理</td>
<td>
<asp:CheckBoxList ID="c4" runat="server" RepeatColumns="5">
<asp:ListItem Value="401">查看广告</asp:ListItem>
<asp:ListItem Value="402">添加广告</asp:ListItem>
<asp:ListItem Value="403">编辑广告</asp:ListItem>
<asp:ListItem Value="404">删除广告</asp:ListItem>
<asp:ListItem Value="405">查看相关图片</asp:ListItem>
<asp:ListItem Value="406">添加相关图片</asp:ListItem>
<asp:ListItem Value="407">编辑相关图片</asp:ListItem>
<asp:ListItem Value="408">删除相关图片</asp:ListItem>
</asp:CheckBoxList>
</td>
</tr>
<tr>
<td style="width: 140px; text-align: center">
留言管理</td>
<td>
<asp:CheckBoxList ID="c5" runat="server" RepeatColumns="4">
<asp:ListItem Value="501">添加留言</asp:ListItem>
<asp:ListItem Value="502">回复留言</asp:ListItem>
<asp:ListItem Value="503">删除留言</asp:ListItem>
</asp:CheckBoxList>
</td>
</tr>
<tr>
<td style="text-align: center" colspan="2">
<br />
<asp:Button ID="Button1" runat="server" Text="保存" onclick="Button1_Click"
Width="32px" />
<input id="Reset1" type="reset" value="重置" />
<asp:Button ID="Button2" runat="server" Text="关闭" onclick="Button2_Click"
Width="31px" />
<br />
</td>
</tr>
</table>
</asp:Content>
{
public void Login()
{
Administrator islogin = new Administrator();
}
public void Quanxian(string quanxian)
{
string s = quanxian;
string[] array = s.Split(',');
int arrayLength = array.Length;
bool isOK = false;
for (int i = 0; i < arrayLength; i++)
{
if (array[i] == "105")
{
isOK = true;
break;
}
}
if (!isOK)
{
WebMessage message3 = new WebMessage("提示!", "对不起,您没有此项操作的权限!<a href=\"Default.aspx\">[转到管理中心]</a>", "ok.gif", HttpContext.Current.Request.Url.PathAndQuery);
message3.SaveMessage(message3);
base.Response.Redirect("message.aspx");
}
}
public void ShowMessage(string str)
{
WebMessage m = new WebMessage("提示!", str, "ok.gif", HttpContext.Current.Request.Url.PathAndQuery);
m.SaveMessage(m);
base.Response.Redirect("message.aspx");
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Login();
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Redirect("Administrator.aspx");
}
protected void Button1_Click(object sender, EventArgs e)
{
Login();
string mid = Request.QueryString["mid"].ToString();
SqlConnection connection = DBConnClass.CreatCon();
connection.Open();
string str = "";
for (int i1 = 0; i1 < this.c1.Items.Count; i1++)
{
if (c1.Items[i1].Selected)
{
str = str + c1.Items[i1].Value.Trim() + ",";
}
}
for (int i2 = 0; i2 < this.c2.Items.Count; i2++)
{
if (c2.Items[i2].Selected)
{
str = str + c2.Items[i2].Value.Trim() + ",";
}
}
for (int i3 = 0; i3 < this.c3.Items.Count; i3++)
{
if (c3.Items[i3].Selected)
{
str = str + c3.Items[i3].Value.Trim() + ",";
}
}
new SqlCommand("update admin set Quanxian='" + str + "' where id=" + mid + "", connection).ExecuteNonQuery();
connection.Close();
this.Label1.Text = ("<script>window.location.href='Administrator.aspx';alert(\"恭喜:权限设置成功!\")</script>");
}}
存储角色信息(权限系统)
字段名 数据类型 说明
Role_id bigInt (8) 角色ID
Role_name Varchar(200) 角色名称
表名 Permission
存储权限信息(权限系统)
字段名 数据类型 说明
Permission_id bigInt (8) 权限ID
Permission_name Varchar(200) 权限名称
Permission_ Varchar(200) 权限备注
表名 Employee_Role
人员角色关系表(权限系统)
字段名 数据类型 说明
Employee_login_id bigInt (8) 人员账号编号ID
Role_id bigInt (8) 角色编号ID
表名 Role_Permission
角色权限关系表(权限系统)
字段名 数据类型 说明
Role_id bigInt (8) 角色编号ID
Permission_id bigInt (8) 权限编号ID