网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C# > 正文
C#.net中实现RBAC 权限入门
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/14
下载{$ArticleTitle}原创论文样式

Author:辰  From 辰''s blog

RBAC概念

rbac:Role Based Access Control,核心是用户只和角色关联,而某角色可以拥有各种各样的权限并可继承。

RBAC白话介绍

rbac有很多模型,最简单的就是Core RBAC。说白了就是User用户, Role角色, Permission许可 三个对象。

l         角色有多个操作许可

l         当用户分配了一个角色,就有了这个操作。

那么在程序里面怎么实现呢?很简单。

首先我们有一系列操作,例如Open File, Close File, Save File等。在代码里面可以一些方法。

然后我们有多个角色,例如Manager, Worker。

他们之间的对应关系如下,一般写在配置文件或者保存在数据库。


当进行权限验证的时候,就是看这个用户的角色是否包含这个动作的permission.

class RBCA
    {
        Dictionary<string, string> userToRole = new Dictionary<string, string>();
        Dictionary<string, List<string>> roleToPermission = new Dictionary<string, List<string>>();

        public RBCA()
        {
            //初始化manager的权限

            string manager = "Manager";

            List<string> managerlist = new List<string>();
            managerlist.Add("OpenFile");
            managerlist.Add("CloseFile");
            managerlist.Add("SaveFile");


            //初始化worker的权限

            string worker = "Worker";

            List<string> workerlist = new List<string>();
            workerlist.Add("OpenFile");

            roleToPermission.Add(manager, managerlist);
            roleToPermission.Add(worker, workerlist);


            //初始化用户pixysoft的角色

            string user = "pixysoft";
            userToRole.Add(user, manager);
        }

        public void OpenFile(string&n

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号