最新消息:重新回归WordPress,我要比较认真的开始更新我的博客了。

小薇OA权限系统的七七八八

程序问题 hanlei 2357浏览

首先说明这不是什么技术文章,只是记录一下我自己扒代码的结果和理解,仅供参考。

准备给公司上小薇OA,本地调试的时候出现了权限问题,于是追着代码查,最终找到问题,解决问题,并对小薇OA权限有了一点认识,记录下来供参考。

首先小薇OA的每个Controller对于每个用户都有分为读,写,管理三种权限,这个在后台权限设置里可以看到。这三种权限都是设置在Controller/index下面,可以在后台看到那个读、写、管理权限的勾,只有url为”xxx/index”的菜单才可以分配。而Controller内其它的方法全部通过分组(读、写、管理)来匹配权限。

比如说我们设置一个用户对“Form/index”的权限为只有读权限,而Form控制器类下还有一个update方法属于写权限分组,那么这个用户访问update就会出错-没有权限。

写这么多,我写的累,估计看的也不明白,还是放上配置文件自己研究吧。

所有的控制器都有一个公共的分组配置,在”/Application/Home/Conf/auth.php”内,内容很少我贴出来如下:

<?php
return array(
	'AUTH' => array(
		'read'=>'index,read,down,folder,export',
		'write'=>'add,edit,upload,del_file,save,del',
		'admin'=>'restore,destory,import,export'
		)
	);

这就是默认的一些方法和需要权限的对应关系,很明了吧。如果有特殊的方法,或要单独修改某个方法需要的权限还有一个办法。有没有发现每个Controller内都会先设置一个config的值,这个config就是上面说的配置,在这里设置后会直接覆盖文件内的配置。顺便说一下config设置的还有一个参数:app_type。这个是指定Controller的权限验证类型,比如公共的不用验证权限就可以访问的控制器,就可以把app_type设置为public这样所有人就都可以访问了。

转载请注明:HANLEI'BLOG » 小薇OA权限系统的七七八八