> php教程 > php手册 > Authority权限验证类对模块的验证

Authority权限验证类对模块的验证

WBOY
풀어 주다: 2016-06-07 11:44:04
원래의
1401명이 탐색했습니다.

使用的是ThinkPHP自带的Authority权限类!
ThinkPHP版本是3.1.3的
使用的是ThinkPHP自带的Authority权限类!ThinkPHP版本是3.1.3的

我要实现的是根据模块名分配权限,当然,这个可以扩展到操作名。

假如我有这些模块文件:
Authority权限验证类对模块的验证


​那么 think_auth_rule表的内容差不多应该是这样的:

Authority权限验证类对模块的验证

​比如,我的登录用户的uid=9.

think_auth_group_access 表中有 uid=9 ,group=6;

think_auth_group 表中有 id=6,title="宇宙管理员",rules="4,5,8";

那么,我只要再模块文件CommAction.class.php中,添加:class CommAction extends Action{<br>     public function __construct(){<br>         parent::__construct();<br>         $this->assign('waitSecond',2);<br>         $this->checkRight();<br>     }<br> <br> <br>     private function checkRight(){<br>         import('ORG.Util.Authority');<br>         $auth=new Authority();<br>         $r = $auth->getAuth(MODULE_NAME,session('S_USER_ID'));<br>         if(!$r){<br>             $this->error('没有权限!');<br>         }<br>     }<br> }然后,再让其它的模块文件继承这个文件,比如,ActivityAction.class.php:<?php <br /> class activityAction extends CommAction{<br> //操作方法<br> }<br> ?>就这样,当我访问think_auth_rules中id是4,5,8模块的时候,就可以正常访问;

如果访问id是10,11,12,13的模块,就会跳转到失败,提示没有权限的页面了~

现在我用这个权限类遇到的问题是:think_auth_rule表中的内容需要我手动去添加,这块是属性开发的,如果能自动生成就好了。

AD:真正免费,域名+虚机+企业邮箱=0元

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿