ホームページ >バックエンド開発 >PHPチュートリアル >特に大規模なプロジェクトや二次開発プロジェクトの場合、共有フレームワーク Web サイト システムの権限を処理する方法

特に大規模なプロジェクトや二次開発プロジェクトの場合、共有フレームワーク Web サイト システムの権限を処理する方法

WBOY
WBOYオリジナル
2016-06-13 13:28:23793ブラウズ

特に大規模なプロジェクトや二次開発プロジェクトの場合、フレームワーク Web サイト システムの権限処理を共有します。


ユーザー テーブルはユーザー テーブルであり、数万のユーザーを保存できるかどうかは問題ではありません。その背後にあるグループ ID は 1 です。管理者権限、2 はゲスト権限です



モデル テーブル ストレージ フレームワークのメソッド名、その背後にあるグループはセット コレクション タイプであり、これは表しますどのグループがこの権限を持っているか

早速、コード例を見てみましょう

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php
class 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 "没有权限";
             }
         }
}
?>




ぜひ参考にしてください。 。 。

-----解決策---------
モデルテーブルにはモデル名を追加する必要があります。そうしないと、異なるモデルから同じ名前のメソッドを区別できなくなります
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。