如何在一个系统中设计权限控制机制(1)

原创 2004年09月23日 09:36:00

    权限控制是一个成熟的应用系统中不可或缺的一部份,如何设计一个既能满足一般需求,又能不断扩充,并且应用简单完美的权限机制是我所面临的一个问题,现在让我开始吧。
    首先,定义一下权限系统的作用,一句话:“我能不能做什么”。
    有三个要素,
    1.我 定义为 person
    2.能不能 定义为 true/false
    3.做什么 定义为 function
    
    先定义出一个应用接口
public interface ISecurity{
    /*判断一个用户是否具有某项权限*/
    public boolean can(int personid, int functionid);
    /*给某个用户设置权限*/
    public void setSecurity(int personid, int functionid, boolean can);
}

经过具体的实现,可以实现最基本的操作。比如定了三张表
person(id, name) func(id, name) security(person, func)
每一个“我”针对于每一个“做什么”都定义一下“能不能”

接着,问题来了,是否一定要对每一个功能都定义一个能不能?
答:这个问题看你的喜好定了,你可以定只有明确被允许,否则都是不被允许的;也可以定只要没有明确否定,其它都是被允许的。

权限管理系统数据库设计的简单构思

最近在工作中接触到权限管理的设计,于是,自己在网上查阅了部分资料,再加上自己的一些思考,构思了一个简单的权限管理系统的数据库设计。RABC与Tag说到权限管理,一般都会想到基于角色的访问控制(Role...
  • Chen_Victor
  • Chen_Victor
  • 2017年02月25日 22:32
  • 1717

三种权限设计方案的归纳和比较

权限设计是很多系统重要的组成部分,主要用于控制功能和流程,本文将几种常见的权限设计方案(权限系统的名都是自己起的)的基本设计写出来,其中不恰当处还请大家指出,我们来讨论一下.1.等级权限系统这种权限系...
  • sunhuwh
  • sunhuwh
  • 2015年11月09日 22:47
  • 2262

django认证系统实现自定义权限管理

本文记录使用django自带的认证系统实现自定义的权限管理系统,包含组权限、用户权限等实现。0x01. django认证系统django自带的认证系统能够很好的实现如登录、登出、创建用户、创建超级用户...
  • le31ei
  • le31ei
  • 2017年01月17日 13:26
  • 4380

一种权限系统设计

一、前言 之前的博客一直都还没写到框架的实现及权限系统,今天开始写我的权限系统,我以前做过的项目基本上都有权限管理这个模块,但各个系统都会有一些不太一样,有些简单点,有些稍微复杂一点,一句话,我...
  • zxjiayou1314
  • zxjiayou1314
  • 2016年11月29日 11:56
  • 1095

完整的权限管理系统,你有这样完整权限的设计吗?

很多人都知道以角色为基础的权限管理设计(RBAC),但是大部分人似懂非懂,不知道完整的权限管理系统都包括哪些内容。    在此以权限管理的使用场景来说明一下完整的权限管理内容。       一...
  • liangyixin19800304
  • liangyixin19800304
  • 2013年10月08日 12:07
  • 1245

Java权限设计与控制

1.场景还原     近期,由于项目中要引用权限模块,于是博主趁着空暇时间写了一个权限控制的小Demo,现在跟大伙讲讲权限的原理。 2.权限数据库设计 user:用户表 user_role:用...
  • zhangxing52077
  • zhangxing52077
  • 2017年06月17日 10:53
  • 1361

后台经验分享:如何做权限管理系统设计?

作者:橘子洲头 全文共 2210 字 5 图,阅读需要 6 分钟 ———— / BEGIN / ———— 在人人都是产品经理的网站上蛰居了4年,学习了四年,由于最近的工作方向偏向...
  • k7Jz78GeJJ
  • k7Jz78GeJJ
  • 2017年11月06日 00:00
  • 838

通用数据权限管理系统设计

一: 应用场景:             在实际应用中,数据权限的控制点一般相对固定,如针对公司、部门、个人、客户、供应商等,也就是说数据权限一般针对指定数据类型下的一些数据对象。    ...
  • u013628152
  • u013628152
  • 2015年01月07日 14:48
  • 2282

java web简单权限管理设计

最近在做一个网站类型项目,主要负责后台,ui框架选型为jquery easy ui,项目架构为spring mvc + spring jdbc,简单易用好上手!搭建好框架后开始了第一个任务,设计并实现...
  • zwx19921215
  • zwx19921215
  • 2015年03月19日 23:23
  • 146646

多项目集中权限管理及分布式会话

在做一些企业内部项目时或一些互联网后台时;可能会涉及到集中权限管理,统一进行多项目的权限管理;另外也需要统一的会话管理,即实现单点身份认证和授权控制。   学习本章之前,请务必先学习《第十章 会话...
  • u012316953
  • u012316953
  • 2017年03月20日 22:07
  • 1377
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何在一个系统中设计权限控制机制(1)
举报原因:
原因补充:

(最多只允许输入30个字)