Thinkphp5での認証権限の設定と実装

藏色散人
リリース: 2020-07-27 13:23:41
転載
4331 人が閲覧しました

thinkphp フレームワーク の次のチュートリアル コラムでは、Thinkphp5 での認証権限の設定と実装について紹介します。

Thinkphp5での認証権限の設定と実装

1. 認証クラスをダウンロードし、ディレクトリに配置します: extend\auth\auth.php

2. SQL ステートメントを実行します。クラスでは、データベースに auth_group (ユーザー グループ テーブル) auth_rule (権限ルール テーブル) auth_group_access (ユーザーとユーザー グループの関連付けテーブル)

3 という 3 つのテーブルを作成できます。 rules (無限の Extreme 分類に似ています) 以下に示すように、auth_rule (権限ルール テーブル) pid (親 ID、0 は最上位権限) level (レベル) sort (sort) に 3 つのフィールドを追加します。

4、まず、管理者テーブルなどの管理者テーブルを自分で作成し、追加、削除、変更、確認して正常に設計できるようにします。グループ フィールドは、所属するユーザー グループです。

5.auth_group 独自の追加、削除、変更、ID、ユーザー グループ名、ステータス (オンまたはオフ)、ルール (ルール テーブルの ID に対応) ## を作成することもできます。

#6 .auth_rule ルール テーブルの追加、削除、変更、チェックは自分で行うこともでき、ID、名前 (コントローラー/メソッド)、タイトル (ルール名) ステータス (オンまたはオフ)、

#7. ユーザーを追加するときは、ユーザーが属するユーザー グループ、uid (ユーザー ID に対応)、group_id (ユーザーの ID に対応) を選択します。

8. メンバー ログイン関数を完了し、set session('id' ) ログインに成功した後、現在ログインしているメンバー ID をセッションに保存します

9. 最も重要なこと最初のステップは、検証に auth クラスを使用し、

<?php
namespace app\admin\controller;
use think\Controller;
use think\Request;
use auth\Auth; //引入suth类
class Common extends Controller
{
    public function _initialize(){
      //初始化判断用户是否已经登陆
      if(!session(&#39;uname&#39;)){
          $this->error(&#39;请先登陆系统!&#39;,&#39;login/index&#39;);
        }


        //获得当前页面的控制器 / 方法
       $request=Request::instance();
       $moudle=$request->module(); //获取当前控制器名称
       $con=$request->controller(); //获取当前控制器名称
       $action=$request->action();  //获取当前方法名称
       $this->assign(array(
               &#39;con&#39;=>$con,
               &#39;action&#39;=>$action,
       ));

       $rules=$con.&#39;/&#39;.$action;  //组合  控制器/方法
       $auth=new Auth(); //实例化auth类
       $notCheck=array(&#39;Index/index&#39;);  //都可以访问的页面
       if(session(&#39;uid&#39;)!=1){  //不是超级管理员才进行权限判断
          if(!in_array($rules,$notCheck)){  // 是否在开放权限里面
              if(!$auth->check($rules,session(&#39;uid&#39;))){   // 第一个参数  控制/方法   第二个参数:当前登陆会员的id
                 $this->error(&#39;没有权限&#39;,&#39;index/index&#39;);
               };
           }
        }




       }
ログイン後にコピー

を使用することです。最終表示用の公開ページ common.php 内;


以上がThinkphp5での認証権限の設定と実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート