系统与权限

背景

最近在对公司的系统,进行重构。之前的设计比较简易,其中最重要的就是权限方面。要把所有的资源,好好地管理起来,并不是一件容易的事情。在设计中,遇到一些问题,在此记录一下

问题

前端与后端权限不匹配问题。前端要控制的内容比较多,比如这个按钮显示不显示,这个页面显示不显示。而后端,是对接口负责,只判断接口是否可访问。
看起来,要完整地控制,前端那边需要的权限要多一些,更加复杂。

那根据这种情况,一种设计方法是:

  • 分成两套权限,一个管前端,一个管后端,各管各的
  • 一套权限管前后端
方案一的优点:

前后端分离设计,可以各自最大程度地优化自己的代码。比如,有的后端,会把几个功能,做成一个接口,根据参数来做区分功能。有的前端,会把不同的功能,分成不同的页面;也或者,功能相差不大的情况下,放在同一个页面,根据用户的角色,做区分显示等……

方案一的缺点:

给管理上增加了难度。也就是说,在实际使用中,管理员增加了难度。如果新建一个用户,它到底应该有哪些权限,分配完前端,再分配后端,如果不小心弄错了,甚至会出现前端页面显示出来了,但其实它不应该有这个权限等。

方案二的优点:

管理员实际使用的时候方便了。分配一次即可能,简单明了。

方案二的缺点:

前后端使用同一套权限字段,限制了各自的发挥,没法最大化优化自己的代码。因为要根据权限,来设计各自的代码,有些时候,可能会多一些多余和重复代码。

你可能感兴趣的:(系统与权限)