关于权限管理Auth附加条件的问题

浏览:1691 发布日期:2015/09/15 分类:求助交流 关键字: 权限管理 auth
Thinkphp中的Auth模块中, auth_rule表中有condition字段.用来指定额外的规则. 个人觉的这是个挺好的方式,可以指定更灵活的规则,规则粒度可以定的更小.搜了论坛,关于Auth介绍的很少.
源码中:
$command = preg_replace('/{(w*?)}/', '$user['\1']', $rule['condition']);
@(eval('$condition=(' . $command . ');'));
把condition和user表关联了起来.

'/{(w*?)}/ 可以看成要匹配的文字为 {字符串} 那么 {字符串} 会替换成$user['字符串']
$command =$user['字符串']
这样的话,就限制了Auth的condition的作用范围.只能和user表进行关联.

问题:
看了官方文档.是取出user表中的字段做判断,比如根据用户积分来指定规则. 写法:{score}>200 类似这样.
如何更灵活使用这个condition? 如果condition条件是其它表中,并且需要做一些逻辑操作. 我的想法是用 condition和一些 behavior关联起来,是不是更灵活一些? 

刚看thinkphp没几天,理解不到位,请大家帮忙,谢谢!
最佳答案
评论( 相关
后面还有条评论,点击查看>>