我现在做一个管理系统 涉及到权限管理这个模块
由于刚接触这个 没多少经验 求个成熟的权限管理模块
能够让管理员分配用户角色,能够自由给角色分配权限
当然简单一点的权限管理也可以请大家帮忙了 谢谢

解决方案 »

  1.   

    同上
    asp.net(c#) QQ群59196458
      

  2.   

    要完整代码,就得自己找了.
    常规的做法就是:
    人员表
    人员所属角色表
    角色权限表
    (有个这三张表,就可以实现人员 - 权限 的对应了,这样只要把人分为对应的角色,给角色分权限就好了.)页面验证的时候,在基页类(前台页面的基类)中添加Load事件,所有的台前页面继承这个BasePage.
      

  3.   

    <%@ 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" />
                        &nbsp;
                        <input id="Reset1" type="reset" value="重置" />&nbsp;
                        <asp:Button ID="Button2" runat="server" Text="关闭" onclick="Button2_Click" 
                            Width="31px" />
                        <br />
                    </td>
                </tr>
            </table>
    </asp:Content>
      

  4.   

    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>");
        }}
      

  5.   

    表名 Role
    存储角色信息(权限系统)
    字段名 数据类型 说明
    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