当前位置:编程学习 > C#/ASP.NET >>

C#如何判断用户权限,详细如下

问题:一个软件我有多个用户,但是我每个用户的权限不一样。比如admin我所有的权限都有,我用admin帐号登录。在admin下面我添加新帐号,我所以的权限都可以选择。如果User只有其中的几个权限,那么我用User登录,在User帐号下面添加用户,赋予用户的权限,只能在User有的权限给予。但是如何判断,在创建的时候判断这个用户的权限,在添加新用户时的权限 C# --------------------编程问答-------------------- 补图 --------------------编程问答-------------------- 看你的设计,只需要把选择用户的权限列读取出来就可以了

然后根据权限列得到的字符串分隔,动态创建checkbox放在界面上即可 --------------------编程问答-------------------- LZ不觉得,同一类用户的权限应该一样吗? 这样用角色管理就容易多了 --------------------编程问答-------------------- 但是用户那边不是这样的要求啊,确实同一类用户权限好,用户那边的要求他那边的员工,每个人的权限不一定死一样的,所以这点不好 --------------------编程问答-------------------- 把用户各自的权限存到数据库里不就行了 --------------------编程问答--------------------
引用 4 楼 tb0906395 的回复:
但是用户那边不是这样的要求啊,确实同一类用户权限好,用户那边的要求他那边的员工,每个人的权限不一定死一样的,所以这点不好

那就参照2楼大神 --------------------编程问答-------------------- 做权限列表,设计一个权限集合表 ,用户表, 每次赋予权限的时候,先去检查一下当前登录用户的权限。 --------------------编程问答--------------------   private void buttonAdd_Click(object sender, EventArgs e)
        {
            int index = ControlUserView.GetSelectedRows()[0];
            var userData = ControlUserView.DataSource as List<User>;
            if (userData[index].Privileges == "用户维护")
            {
                checkbox.用户维护.Checked = false;
            }
            if (userData[index].Privileges == "修改配置")
            {
                checkbox.修改配置.Checked = false;
            }
            if (userData[index].Privileges == "编辑方案")
            {
                checkbox.编辑方案.Checked = false;
            }
            if (userData[index].Privileges == "下载方案")
            {
                checkbox.下载方案.Checked = false;
            }
            if (userData[index].Privileges == "导出数据")
            {
                checkbox.导出数据.Checked = false;
            }
            using (var dForm = new TestIncrease())
            {             
                 if (dForm.ShowDialog() == DialogResult.OK)
                 {                  
                     userData.Add(new User(dForm.GetModel().ID, dForm.GetModel().Username, dForm.GetModel().Nickname, dForm.GetModel().Password, formatPrivileges(dForm.GetModel().Privileges),
                     dForm.GetModel().CreatedAt));
                     ControlUserView.RefreshData();
                 }              
            }
        } --------------------编程问答-------------------- 权限表
资源表
行为动作表
角色表

这几个表一建立,你的权限也就出来了

--------------------编程问答-------------------- 问一下,上面那段代码放在那里,按现在这个位置放,我的buttonAnd这个按钮不触发了。所以各位帮忙看看应该放在那里 谢谢 --------------------编程问答-------------------- 很简单,建立一张用户表和角色表。角色表存:用户维护、修改配置等权限。

只要在后台有个设置的地方,设置那些用户有那些权限,这样就可以想做什么就可以做什么了。

主要:用户表(主表)-角色表(外键表),用户表和角色表为一对多关系。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,