ホームページ PHPフレームワーク ThinkPHP Thinkphp5での認証権限の設定と実装

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

Jul 27, 2020 pm 01:23 PM
auth thinkphp5

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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Pagoda に thinkphp5 をデプロイするときにエラーが発生した場合はどうすればよいですか? Pagoda に thinkphp5 をデプロイするときにエラーが発生した場合はどうすればよいですか? Dec 19, 2022 am 11:04 AM

Pagoda に thinkphp5 をデプロイするときに報告されたエラーの解決策: 1. Pagoda サーバーを開き、php pathinfo 拡張機能をインストールして有効にします; 2. 「.access」ファイルをコンテンツ「RewriteRule ^(.*)$index.php」で構成します。 ?s=/$1 [QSA ,PT,L]”; 3. Web サイト管理で、thinkphp の疑似静的機能を有効にするだけです。

thinkphp5 の URL 書き換えが失敗した場合はどうすればよいですか? thinkphp5 の URL 書き換えが失敗した場合はどうすればよいですか? Dec 12, 2022 am 09:31 AM

thinkphp5 の URL 書き換えが機能しない場合の解決策: 1. mod_rewrite.so モジュールが httpd.conf 設定ファイルにロードされているかどうかを確認します; 2.AllowOverride None の None を All に変更します; 3. Apache 設定ファイル .htaccess を「RewriteRule ^」に変更します(.*)$index.php [L,E=PATH_INFO:$1]」を選択して保存します。

Java API開発における認証にAuth0を使用する Java API開発における認証にAuth0を使用する Jun 18, 2023 pm 05:30 PM

最新のソフトウェア開発において、ID 認証は非常に重要なセキュリティ対策です。 Auth0 は ID 認証サービスを提供する会社で、開発者が複数の ID 認証方式 (OAuth2、OpenIDConnect など) を迅速に実装し、安全で信頼性の高い認証サービスを提供できるように支援します。この記事では、JavaAPI開発における認証にAuth0を使用する方法を紹介します。ステップ 1: Auth0 アカウントを作成し、アプリケーションを登録します。

thinkphp5でリクエストされたURLを取得する方法 thinkphp5でリクエストされたURLを取得する方法 Dec 20, 2022 am 09:48 AM

thinkphp5 が要求された URL を取得するためのメソッド: 1. "\think\Request" クラスの "$request = Request::instance();" メソッドを使用して、現在の URL 情報を取得します。 2. 組み込みヘルパーを使用します。関数「$request-> url()」を使用して、ドメイン名を含む完全な URL アドレスを取得します。

thinkphp5 post が値を取得できない場合はどうすればよいですか? thinkphp5 post が値を取得できない場合はどうすればよいですか? Dec 06, 2022 am 09:29 AM

TP5 が strpos 関数を使用してヘッダーの content-type 値で app/json 文字列を検索するため、thinkphp5 post は値を取得できません。解決策は、ヘッダーの content-type 値を app/json に設定することです。

thinkphp5のタイトルバーアイコンを削除する方法 thinkphp5のタイトルバーアイコンを削除する方法 Dec 20, 2022 am 09:24 AM

thinkphp5 タイトル バー アイコンを削除する方法: 1. thinkphp5 フレームワーク public で favicon.ico ファイルを見つけます; 2. ファイルを削除するか、別の画像を選択して名前を favicon.ico に変更し、元の favicon.ico ファイルを置き換えます。

Vue3 で Supabase Auth メソッドを使用する方法 Vue3 で Supabase Auth メソッドを使用する方法 May 28, 2023 am 08:39 AM

はじめに Supabase は、自称「オープンソース Firebase の代替品」です。私はしばらく Supbase を使用することに興味があり、その認証 API を使用して Vue.js3 アプリケーションの認証をセットアップしてみようと考えました。まず第一に、なぜ SupabaseAuth を使用する必要があるのでしょうか?要するに、Supabase をデータ ストアとして使用している場合 (これには非常に優れた利点があります)、SupabaseAuth がそのデータへのアクセスを管理できる唯一の方法であるということです。次に、SupabaseAuth にもさまざまな機能があります。ミドルウェアを使用しないユーザー権限 (Postgres を介した行レベルのセキュリティ)

Auth0 を使用した PHP セキュリティ認証の実装 Auth0 を使用した PHP セキュリティ認証の実装 Jul 25, 2023 pm 02:09 PM

Auth0 を使用して PHP セキュリティ検証を実装する はじめに: 最新の Web 開発では、セキュリティ検証は重要な部分です。ユーザーのプライバシーとデータのセキュリティを保護するには、許可されたユーザーのみが機密情報にアクセスしたり、特定の操作を実行したりできるようにする措置を講じる必要があります。 Auth0 は、安全な検証を実現するためのシンプルかつ強力なソリューションを提供する、人気のある認証および認可プラットフォームです。この記事では、Auth0 を使用して PHP セキュリティ検証を実装し、コードを提供する方法を紹介します。

See all articles