【原】再话权限
in 随笔 with 0 comment

【原】再话权限

in 随笔 with 0 comment

男儿志兮天下事,但有进步不有止,言志已酬便无志。 --梁启超

其实看我博客的小伙伴应该知道,在之前的博客中为曾经有提到 权限 的相关问题,详见 关于权限的那些事儿。在文章中我详细的记录了我对Web权限的认识,同时兼顾开发的容易和使用的便捷,然而问题总是在一步一步的变多,在项目的进展中,管理员居然想要更加细致的去把控用户的所有行为,任何操作都不放过,那该怎么办呢?下面,我们就来聊一聊如何精确控制用户权限。

基础知识

Linux权限

Linux最常用的权限分为读、写、运行 同时区分所有者和所属者,

AUTH基于URL授权

根据菜单生成URL权限项目,根据组进行授权。

HTTP方法

HTTP1.1 规定了8个方法,这里就不一一说明了,在当前的设计中我们会用到GET POST PUT DELETE这四个方法

第一步、权限项目

根据菜单,自动生成URL权限列表,这里以具体的URL为唯一标识,用以区别用户操作的是哪个类,哪个方法。也就是说,每添加一个菜单,也就意味着这里多了一个权限因子。

第二步、权限细节

到这里我们就用到了HTTP的方法,我们约定GET为获取数据等同于Linux中的读,POST为保存数据等同于Linux中的写,PUT为新增数据等同于Linux中的写,DELETE为删除数据等同于Linux中的执行 [这里的PUT和DELETE所代表的的含义并不是严格意义上的HTTP协议规范]

第三步、权限进组

这里,我们将每个组拥有URL的权限,以及该用户能够用改URL产生的行为进行明确的配置,和规定。

第四步、权限认证

这里基本就是用权限的过程,如果有权限就执行,如果没有权限就返回,或者想办法获取临时权限。

最后说两句,其实URL的每一个function都已经准确的识别了用户的操作意图,但是总是在设计和习惯的影响下,使得我们的URL设计的不算太规范,最终导致权限认证的麻烦,所以笔者认为还是规范编程比较好!

Comments are closed.