【商城应用】菜单权限设计

我就是我 2022-05-14 22:26 391阅读 0赞

今天给大家介绍一下后台管理系统中权限功能的开发,先给大家介绍一下权限功能产品部分的设计,数据库设计以后有时间再和大家介绍。其实如果在需求都确定的情况下,开发功能是一件特别简单的事情。每一个用户可以控制到是否可以操作页面的哪一个按钮,也就是权限的精确值是到按钮级别。这边说的权限指的是后台菜单权限,而不是指shiro或者spring security的接口权限,当然也可以采用今天所讲的权限设计来设计shiro或者spring security的接口权限,今天先给大家介绍菜单的权限设计。

我们要设置管理员在后台中可以操作的权限,首先要有几个概念,一个是用户、权限,权限所对应的可操作菜单。

首先一个员工属于具体的一个部门,目前我们设计暂时没有跨部门的员工,也就是说员工和部门之间是多对一的关系,如图所示:

516_method_get-resource_shareToken_5346CA536F4348DF90A9931AB3304FE5_entryId_207112733

每个员工可以有自己对应的角色、每一个部门也可以有自己对应角色。但是有一点需要注意的是,部门如果拥有角色,那也就意味着,部门内所有员工都拥有这样的角色。但是我们也可以给一个具体的员工配置特殊的角色,因为每一个部门都有对应的负责人,这个负责人的角色肯定和部门内其他人的角色不一样。通俗的来说,如果员工没有自己设置特殊角色的话,就以部门设置的角色为主,如果设置了,就以本身设置的角色为主。

518_method_get-resource_shareToken_5346CA536F4348DF90A9931AB3304FE5_entryId_207112733

用户和角色有了,现在就是权限的设计了,一个角色可以对应多个权限,一个权限也可以对应多个角色。打个比方,人事部长的角色和董事长的角色是两个角色,但是他们有共同的权限,比如审核是否通过面试,然后董事长肯定拥有多个权限,而不是单一的某一个权限。

515_method_get-resource_shareToken_5346CA536F4348DF90A9931AB3304FE5_entryId_207112733

既然是后台管理系统的权限功能设计,那每一个权限肯定对应具体的菜单或者按钮操作了。那权限是怎么和菜单或者按钮挂钩的呢,如果我们想要权限和菜单或者按钮相挂钩,肯定会有一个权限和菜单的对应关系表。一个权限会拥有多个菜单,一个菜单也可以多个权限,所以菜单和权限也是多对多的关系。

514_method_get-resource_shareToken_5346CA536F4348DF90A9931AB3304FE5_entryId_207112733

这边的菜单包含一级菜单、二级菜单、具体按钮,这边我们将三者统一称呼为菜单。各个之间的关系已经介绍完了,下面我这边给出一个总的流程图,具体介绍每一个权限功能的一些细节流程,如下所示:

517_method_get-resource_shareToken_5346CA536F4348DF90A9931AB3304FE5_entryId_207112733

总结:

今天的后台管理权限设计就到这边了,大多数的后台管理系统中菜单权限设计基本都差不多,可能会根据具体需求进行一些细节性的调整,但是核心思想肯定是和上面讲的不会差很多。产品原型分析完之后,肯定是设计具体的数据库表关系来实现菜单权限了,这边我就不具体分析了,以后有时间在和大家好好聊一聊,今天的内容就到这边了,谢谢大家的阅读。

要更多干货、技术猛料的孩子,快点拿起手机扫码关注我,我在这里等你哦~

  1. ![70][]

发表评论

表情:
评论列表 (有 0 条评论,391人围观)

还没有评论,来说两句吧...

相关阅读

    相关 商城应用】推荐关系设计

    今天给大家介绍一种特殊的应用场景,虽然比较特殊,但是在各大平台上面还是有迹可循的。比如支付宝就一直在搞这个规则场景,用户分享的二维码被别人扫码支付之后,购买则可以获取支付奖励红

    相关 商城应用商城商品体系设计

    今天给大家介绍一下商城的重头戏,也就是商品体系的设计。有些人可能会问,什么叫做商品体系呢?不知道大家在用淘宝的时候有没有发现,不同类型的商品规格和属性都是不一样的,我们这边举一

    相关 商城应用商城积分方案设计

    商城项目开发,我们就不得不提关于积分的设计了,纵观目前大型的电商平台,基本都会涉及到积分的设计,只是在他们的平台上面可能不是叫积分罢了。积分算是商城中一种比较经典的玩法,比如购

    相关 商城应用菜单权限设计

    今天给大家介绍一下后台管理系统中权限功能的开发,先给大家介绍一下权限功能产品部分的设计,数据库设计以后有时间再和大家介绍。其实如果在需求都确定的情况下,开发功能是一件特别简单的