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

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

1.等级权限系统

    这种权限系统在论坛中很常见,在这种系统中,权限级别如同官阶从低到高排列,每个用户拥有一个权限,其中设定了这个用户的权限等级,在用户需要执行操作前先查看其权限等级是否大于执行操作所需要的权限等级,是则进行操作。

在等级权限系统中领域对象用户类User的基本属性如下:
    id       // 用户ID
    name     // 用户名

领域对象权限类Privilege的基本属性如下:
    id       // 权限ID
    userid   // 持有此权限的用户id
    level    // 用户的权限等级

level的设置示例
level 对应可执行的功能
0 访问
1 可跟帖
2 可创建主贴
3 可删除主贴
4 可创建频道
5 可删除频道
6 可查看用户
7 可分配用户权限
8 可修改用户密码
9 可删除用户
...

使用中,执行一个操作比如创建主贴时,先从Session中取出用户,然后按其id查出其对应的权限等级,拿它和执行创建主贴所需要的等级(3)进行比较,高于则可进行创建主贴操作,否则报告权限不够.

等级权限系统简单易用,在如论坛等刚性控制系统中使用很好,但不适用于需要限制权限的范围的场合。

2.范围限制权限系统

    等级权限系统系统的缺点是控制范围过广,比如一个论坛中有很多子论坛,一个子论坛的分版主同时也能对另一个同等级分论坛的帖子进行控制,这在一定程度不合理,有越界的嫌疑,更好的做法是将版主权限控制在一版之内,这时我们可以采用范围限制权限系统. 这种权限系统在项目管理系统中很常见.

在等级权限系统中领域对象用户类User的基本属性如下:
    id       // 用户ID
    name     // 用户名

领域对象项目类Project的基本属性如下:
    id       // 项目ID
    name     // 项目名

领域对象权限类Privilege的基本属性如下:
    id       // 权限ID
    userid   // 持有此权限的用户id
    projectid // 此权限对应的项目
    level     // 用户的权限等级

其中,通过引入了新属性projectid,我们对权限的范围进行了有效限制,项目不同则权限等级再高也是无效,这样就起到了限制权限能力范围的作用.

3.范围限制单项权限系统

在上面两个权限系统中,权限高的自然能执行权限要求低的操作,这样做权力没有细分,在有些场合并不合理,比如即使是董事长不可直接操作人事部的招聘任务,他只对雇员去留有建议权.对于这样的场合我们需要使用范围限制单项权限系统.它的典型应用如工作流和OA系统。

在范围限制单项权限系统中领域对象用户类User的基本属性如下:
    id        // 用户ID
    name      // 用户名

领域对象项目类Project的基本属性如下:
    id        // 项目ID
    name      // 项目名

领域对象权限类Privilege的基本属性如下:
    id         // 权限ID
    userid     // 持有此权限的用户id
    projectid  // 此权限对应的项目
    abilityid  // 权限控制能力id

领域对象权限控制能力类ability的基本属性如下:
    id         // 控制能力ID
    item       // 控制能力子项

item的设置示例
item 对应可执行的功能
0 读
1 写
2 查
3 删

...

通过对权限能力的细分,用户权限的控制粒度更细了,对功能和流程就能有更精确的把握,适用于复杂的场合.

以上三种权限系统没有优劣之分只有适用场合的区别,前面的粗略但易于操作,后面的精确但失之烦琐,在现实使用中我们应该根据场合选择合适的权限系统.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
需求分析: 1. 学生基本信息管理:包括学生姓名、性别、年龄、学号、班级、联系方式等基本信息的录入、修改、查询和删除。 2. 学生课程管理:包括学生选修课程的记录、成绩录入、查询等功能。 3. 学生成绩管理:包括学生成绩的录入、查询、统计分析、成绩分布分析等功能。系统可以根据学生的成绩进行智能分析,提供给教师参考。 4. 学生考勤管理:包括学生出勤情况的记录、查询等功能。可以对缺勤的学生进行提示和预警。 5. 学生行为管理:对学生违规行为,包括违规消费、违规离校等行为进行记录和处理。同时,也可以对学生的表现进行正面评价和奖励。 6. 学生文化活动管理:记录和管理学生的文化活动,有助于丰富学生的课余生活和发展兴趣爱好。 7. 学生留言板和信息公示:学生可以在留言板上发表自己的观点和想法,同时,教师也可以在公示栏上发布学校相关信息。 设计方案: 1. 系统目标:建立学生管理系统,实现学生信息及学业管理的自动化和随时查询,提高教师和学生的管理效率。 2. 系统架构:学生管理系统将分为多个模块,包括学生信息管理、课程管理、成绩管理、考勤管理、行为管理、文化活动管理和信息公示等。每个模块将包含各种功能按钮,用户可以根据需要随时调用。 3. 数据库设计:系统将建立数据库,存储学生信息、选修课程、成绩记录、考勤记录等数据。同时,也会建立留言板和信息公示数据库,存储学生和教师留言和信息公示内容。 4. 界面设计:系统界面将采用直观易用的设计风格,划分为多层次菜单,让用户方便快速地找到需要的功能。同时,也会设置一些提示和错误信息,方便用户快速排除错误。 5. 系统安全:考虑到学生信息的保密性,系统将建立权限管理机制,不同用户只能访问他们具有权限的信息,同时,还会为系统建立安全备份机制,以避免数据丢失的风险。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值