`
liyixing1
  • 浏览: 962016 次
  • 性别: Icon_minigender_1
  • 来自: 江西上饶
社区版块
存档分类
最新评论

公司系统中的菜单功能和权限功能

 
阅读更多
在到过几家公司上班,都有见到类似的菜单和权限的设计,先看图



这个是应用的界面图。这种设计和我以前的理念有很大区别,我对设计菜单和权限时候,会绝对的把菜单和权限看成是两个完全没有直接关系的模块,权限是权限,菜单是菜单。如,权限查看学生,只是一个表示STUDENT_VIEW,而这个权限具体到能干嘛,它本身不知道。然后它和角色关联起来后,那么属于这个角色的用户,就自然而然的拥有了STUDENT_VIEW这个权限了,但是这个时候,对于权限本身能完成那些工作,依然是未知的。

随后比如在一个实际的查看学生,搜索学生等等功能,都会验证当前用户是否具有这个权限。

而菜单实际上和权限之间是隔离的,基本上不需要知道权限。当然有个特殊的情况就是菜单要求不具备执行该功能的权限,那么就不显示,那这也只是在显示菜单之前,做一次验证是否有某个权限,然后绝对要不要显示而已。

而对于这类设计,则很是迷惑。通过不断查看这类设计的代码,算了明白了怎么回事了。

以在北京某家公司的设计为例(其他公司的应该也类似),具有一张表permission(权限ID,应用ID【应用ID的作用将会在我理解了应用管理之后,发表新的文章解释】以及一个链接字段URL),这里可以看到的是,权限实际上就已经是某个链接了。

然后是菜单(要理解这种理念,就必须要先理解权限,然后是菜单,最后才是角色),菜单的基本属性之类的则不解释了,关键在于这种设计中,菜单的链接是无法设置的,是通过菜单把权限关联起来(在功能使用的时候,是通过导入应用入口的功能来和实际的某条permission联系起来),通过权限,来得到URL。

角色,这个时候菜单才是角色所具有的权限(上面说的permission表并不是角色所直接拥有的权限关系了)。

第一种理念个人更加推荐使用,举个两种理念的区别:
查看某个学生详细信息和搜索学生记录,都需要具有STUDEN_VIEW权限
那么第一种理念就更加易于使用

而第二张实际上链接才是真正的权限,那么查看某个学生详细信息和搜索学生记录实际上是两个URL,这个角色就必须同时具有这两个链接的菜单的权限。而第一种理念也更加符合单一原则和RBAC(Role-Based Access Control,基于角色的访问控制)的设计方式。
  • 大小: 8 KB
分享到:
评论
1 楼 weituotian 2016-10-10  
说的不好,没人看的

相关推荐

    .net权限管理系统(含数据库,菜单动态添加)

    但在本系统中,菜单会根据用户的角色和权限进行动态生成。系统在用户登录后,根据数据库中用户的角色信息,查询对应的权限,然后根据这些权限生成用户可见的菜单。这种方式极大地提高了用户体验,同时也加强了系统的...

    PB权限菜单

    在企业级应用中,权限菜单是至关重要的,它控制着不同用户或角色对系统功能的访问,确保数据安全和操作合规性。这里的“多用户的菜单的权限设置例子”表明这是一个示例项目,演示了如何在PowerBuilder环境中为多个...

    系统中角色与权限的划分实例

    在业务系统中,通常有两种权限管理类型:功能权限管理和资源权限管理。功能权限指的是用户可以使用的系统功能,这种权限在不同系统间可以复用;而资源权限涉及具体的数据访问,如读取、修改特定文件或记录,这类权限...

    C#权限管理系统--动态加载菜单栏

    在IT行业中,权限管理系统是构建复杂应用程序不可或缺的一部分,特别是在企业级应用中,它确保了数据安全性和用户访问控制。本示例"StudentSystem权限"是一个基于C#开发的权限管理系统,着重展示了如何实现动态加载...

    权限菜单树

    在IT领域,权限管理是系统设计中的重要环节,特别是在企业级应用中,权限菜单树是一种常见且有效的解决方案。本文将详细解析"权限菜单树"这一主题,以及与之相关的EXT库和JavaScript菜单树的实现。 首先,让我们...

    VB.NET系统架构源码(含权限控制).zip

    这个压缩包主要包含登录模块和权限控制相关的实现,对于开发者来说,这是一个很好的学习和参考资源,可以帮助理解如何在VB.NET环境中构建安全、有控制权的系统。 系统架构在软件开发中扮演着核心角色,它定义了系统...

    ASP.NET Core3.0版 权限管理系统源码

    菜单管理:配置系统菜单,操作权限,按钮权限标识 通用字典:系统里动态改变的数据,用字典进行维护,不变的数据,可以用枚举 行政区划:全国的省市县三级数据,展示树形数据的使用 系统日志(登录日志、操作...

    (源码)基于SpringBoot和Vue的权限管理系统.zip

    # 基于Spring Boot和Vue的权限管理系统 ## 项目简介 本项目是一个基于Spring Boot和Vue的权限... 配置系统菜单,操作权限,按钮权限标识等。 ### 角色管理 角色菜单权限分配、设置角色按机构进行数据范围权限划分。

    基于.NET Core Web开发的权限管理系统源码,代码易读易懂、界面简洁美观

    菜单管理:配置系统菜单,操作权限,按钮权限标识 通用字典:系统里动态改变的数据,像文章类型,用字典进行维护,不变的数据,可以用枚举 行政区划:全国的省市县三级数据,展示树形数据的使用 系统日志(登录日志...

    一文读懂权限系统设计思路.docx

    权限点管理系统是指对权限点的管理,包括菜单的权限、功能点的权限等。权限点可以从操作维度细拆,还可以拆成读权限(R)和写权限(W)。 (2)用户管理系统 用户管理系统是指对用户的管理,包括给谁分配什么权限...

    一个java权限管理系统

    总结来说,这个Java权限管理系统是一个结合了Struts2、Spring和Hibernate技术的Web应用,实现了用户权限和菜单权限的管理,同时具备公司办公自动化功能。这样的系统为企业的信息安全管理提供了有效支撑,确保了不同...

    Winner权限管理系统 新一代web系统开发利器

    Winner权限管理系统(又称:胜利者权限管理系统)是一款基于PHP+Mysql开发的web基础系统,系统内置用户管理、组别管理、部门管理,同时系统还能动态开启子公司,当您的公司有多家分公司时,这个功能可方便您的操作。...

    吉日嘎啦 - 通用权限管理系统 V3.7(源代码、文档、数据库)

    资源包中包含的开发说明文档是开发者理解系统架构和实现的关键,它详细介绍了系统的设计理念、功能实现以及开发过程中的注意事项。源代码的提供则使得用户可以根据自身需求进行二次开发或定制,增强了系统的适应性。...

    (源码)基于Spring Boot和Vue的权限管理系统.zip

    4. 菜单管理配置系统菜单,包括操作权限和按钮权限标识。 5. 角色管理管理角色菜单权限分配,支持按机构进行数据范围权限划分。 6. 字典管理维护系统中经常使用的一些较为固定的数据。 7. 参数管理动态配置系统常用...

    基于bootstrap的后台管理菜单 一个基于bootstrap的二级后台管理菜单

    4. 添加内容区:使用Bootstrap的栅格系统(Grid System)或其他容器类来组织和布局后台的主要功能区域。 5. 交互与动态效果:利用jQuery和Bootstrap的JavaScript插件实现菜单的展开与折叠、模态对话框的弹出等交互...

Global site tag (gtag.js) - Google Analytics