分享框架式网站系统的权限处理,尤其针对大型项目和二次开发项目,该如何处理

WBOY
풀어 주다: 2016-06-13 10:26:52
원래의
1112명이 탐색했습니다.

分享框架式网站系统的权限处理,尤其针对大型项目和二次开发项目


user表就是用户表了,可以存储上万条的用户也没关系,后面的groupid 为1 就是管理员权限,为2就是游客权限



model表存储框架的各个方法名,后面的group是set集合类型,代表哪个组拥有这个权限

废话不多说,看例子代码

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?phpclass IndexAction extends YouYaX{        public function index()        {            header("Content-type: text/html; charset=utf-8");            //登陆的步骤省略            $user="我是游客";            //$user="我是管理员";            $data=$this->find("user","string","user='".$user."'");            $group_tmp=$data["groupid"];                        $this->show($group_tmp);         }         public function show($group_tmp){             $list=$this->find("model","string","func='show'");             $sql="select * from model where func='show' and find_in_set(".$group_tmp.",".$list['group'].")";                  if(mysql_num_rows(mysql_query($sql))){                 echo "权限通过";                 //处理下面的内容             }else{                 echo "没有权限";             }         }         public function showAll($group_tmp){             $list=$this->find("model","string","func='showAll'");             $sql="select * from model where func='showAll' and find_in_set(".$group_tmp.",".$list['group'].")";                   if(mysql_num_rows(mysql_query($sql))){                 echo "权限通过";                 //处理下面的内容             }else{                 echo "没有权限";             }         }}?>
로그인 후 복사




欢迎参考。。。

------解决方案--------------------
model表需要加上model名,不然无法区分不同model的同名方法
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿