- 浏览: 796261 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (573)
- Java基础 (76)
- C++基础 (5)
- hibernate (5)
- struts (4)
- spring (1)
- webservice (7)
- AjaX基础 (0)
- JS脚本 (53)
- 正则表达式 (5)
- html脚本 (30)
- 数据库基础 (54)
- 工作相关 (49)
- 其他 (30)
- Linux (9)
- web服务器 (17)
- JSP (13)
- eclipse (6)
- 面试题相关 (20)
- XML (3)
- Apache common (2)
- 生活 (35)
- VMware (1)
- log4j (9)
- BeanUtils (2)
- 设计模式 (3)
- UML (1)
- UNIX (1)
- ibats (5)
- GT-Grid (17)
- ABAP学习 (17)
- ABAP (35)
- ABAP--ALV (11)
- ABAP--WEBDIMPRO (0)
- abap-sample (1)
- BEMS (2)
- flex (33)
- GIS技术 (3)
最新评论
关键字: 权限
----------------------------------------------------------------------------
我以前设计过一个权限系统的模型,但是我没有实现,
可以说出来,大家讨论一下。
我认为一个系统的权限部分应该由以下四个部分组成:
Resource
Privilege
Role
User
另外,一个系统中最少有这么几个角色:
Creator, 也可以称做 Programmer.
Administrator, 超级用户
General User
----------------------
权限各部分之间的关系:
----------------------
1. Resource 就是系统的资源,比如部门新闻,文档等各种可以被提供给用户访问的对象.
2. Privilege 是 Resource Related 的权限。
什么意思?就是指,这个权限是绑定在特定的资源实例上的。
比如说部门新闻的发布权限,叫做"部门新闻发布权限".
这就表明,该 Privilege 是一个发布权限,而且是针对部门新闻这种资源的一种发布权限。
我认为,Privilege 是由 Creator 在做开发时就确定的。
3. Role, 是角色,拥有一定数量的权限。
4. User, 与 Role 相关。在我设计的系统里,User是不能与 Privilege 直接相关的,
User 要拥有对某种资源的权限,必须通过Role去关联.
----------------------
系统大串联:(^_^)
----------------------
下面简单介绍一下,一个权限从开发到使用的过程.
1. Creator 创造 Privilege, Creator 在设计和实现系统时会划分,一个子系统或称为模块,
应该有哪些权限. 拿新闻这一块来说,可能应该有:
发布权限(publish)
修改权限(modify)
审核权限(review)
浏览权限(visit) .......
这里完成的是 Privilege 与 Resource 的对象申明,并没有真正将 Privilege 与具体
Resource 实例联系在一起.
2. Administrator 指定 Privilege 与 Resource Instance 的关联.
在这一步, 权限真正与资源实例联系到了一起, 产生了 Privilege Instance。
比如,Administrator 创建了一个叫做 "部门新闻" 的Resource Instance.
然后将发布权限与这个资源相关联,产生出 "部门新闻发布权限" 这个 Privilege Instance.
3. Administrator 创建一个角色,称做 "部门新闻发布者".
4. Administrator 将 "部门新闻发布权限" 赋予 "部门新闻发布者".
5. Administrator 从用户列表中选取一个或多个用户,
然后给这些用户赋予 "部门新闻发布者" 的角色
6. User 进到系统,在它的可访问资源列表上,会出现"部门新闻发布"的链接.
7. User 点击 "部门新闻发布"的链接, 根据 Creator 的实现,系统会检查
[1] 当前用户是否拥有发布权限
[2] 当前用户的发布权限是否与能操作正在访问的资源.
----------------------
结束语
----------------------
这是我一次在飞机场等飞机时突然设计出来的东西。因为没有具体实现,
而且也可能因为时间仓促,没有想得很透彻,希望写出来大家讨论一下。
具体实现上的技术问题,我也想过,我觉得应该已经想通,但是介于时间关系,
这里写不了啦,大家可以谈谈看法 .
发表评论
-
oracle获取指定的日期、时间
2012-07-17 14:32 1087--本周 select trunc(sysdate, 'd ... -
Oracle 常用日期提取脚本汇总
2012-07-17 14:30 829Oracle 常用日期提取脚本汇总 1、本周第一天和最后一 ... -
Windows下安装PostgreSQL8.2图解
2010-08-20 13:16 1218Windows下安装PostgreSQL8.2图解 -
sql语句解析顺序
2010-05-20 14:47 1373标准的 SQL 的解析顺序 ... -
postgreSql 利用触发器创建动态表
2010-05-20 14:43 1753在postgresql 中如果在程序运行中需要根据插入数据条件 ... -
使用反射实现ORM
2010-01-14 22:09 952首先Bean在符合JavaBean的要求,即有一个无参的构造方 ... -
模板设计模式_构建公共通用的Dao
2010-01-14 22:04 970核心代码: Connection的工具类:详见:JDBC数据 ... -
使用构造函数创建JavaScript对象
2010-01-14 21:31 962<!DOCTYPE html PUBLIC " ... -
数据库行转列
2010-01-14 21:09 828create table score ( s_id int ... -
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
2010-01-14 20:56 925Insert是T-sql中常用语句,Insert INTO t ... -
mysql导入导出
2010-01-12 12:05 14761. 导出 view plaincopy to clip ... -
mysql导入与导出和删除多条数据数据
2010-01-12 11:57 2273数据导出: mysql> select * from ... -
MySQL索引分类和各自用途
2010-01-12 11:43 1501一、 MySQL: 索引以B树格 ... -
各种主流数据库的分页写法
2010-01-11 16:38 647------------------------------- ... -
MySQL中进行树状所有子节点的查询
2010-01-06 21:16 1250在Oracle 中我们知道有一个 Hierarchical Q ... -
MySQL中进行树状所有子节点的查询
2009-12-29 14:52 1018在Oracle 中我们知道有一个 Hierarchical Q ... -
超详细的SQL语句语法
2009-12-28 18:08 1038简单的Transact-SQL查询只包括选择列表、FROM子句 ... -
有关SQL模糊查询
2009-12-28 12:50 1209执行 数据库查询时,有 ... -
视图,存储过程,触发器的好处
2009-12-23 11:33 1080视图的优点: 提高数据安全性,可以不让用户看到表中的某个字 ... -
处理上百万条的数据库如何提高处理查询效率
2009-12-18 12:42 15951.对查询进行优化,应尽量避免全表扫描,首先应考虑在 wher ...
相关推荐
13 JDBC性能优化技巧 <br> 权限设计 1 权限系统概要 2 关于权限设计方面的问题 3 关于用户角色权限管理一点想法 4 关于权限系统的设计 <br> 缓存系统 1 ...
此外,FastAdmin还集成了基于Auth的权限管理系统,这为项目的安全性和角色访问控制提供了保障。权限管理是任何后台系统的关键要素,它确保只有授权的用户才能执行特定的操作。通过将权限管理集成到框架中,FastAdmin...
这个网页不仅是一个展示个人风采的平台,还集成了丰富的互动元素,如日志、相册、BBS论坛以及用户登录和管理员权限管理等,为用户提供了一个全方位的在线互动体验。 首先,ASP.NET是微软公司推出的一种Web应用程序...
6. **权限管理**:系统可能会区分不同角色(如员工、经理、HR管理员)的访问权限,确保信息安全。 7. **用户界面**:友好的用户界面,使得操作简单直观,无论是提交申请还是审批流程都能轻松完成。 从压缩包中的...
6. **权限控制**:根据团队成员的角色分配不同级别的访问和操作权限,保障数据安全。 7. **集成**:可能与其他业务工具(如CRM、电子邮件营销平台等)集成,实现数据同步和自动化工作流。 由于red2是开源的,开发者...
正因为这点不同,导致建筑的管理模式和软件的管理模式就有很多不同, 有些人认识不到这点,就产生了可以大量使用"软件 蓝领"的想法,因为他羡慕建筑中"民工"的低成本. 要知道软件还有一个与建筑截然相反的责任和用途,那...