検索
ホームページPHPフレームワークThinkPHPThinkPHP6 で Auth 認証局操作を使用するにはどうすればよいですか?

インターネット アプリケーションの開発に伴い、権限管理はアプリケーション開発に不可欠な部分になりました。開発プロセスでは、データのセキュリティと操作権限の制御を実現するために、異なるユーザーに異なる権限を割り当てる必要があります。 ThinkPHP6 フレームワークの Auth 認証許可操作は、シンプルで使いやすいソリューションを提供します。

Auth認証許可操作とは何ですか?

Auth は、ThinkPHP6 フレームワークの権限管理プラグインであり、ロール、ユーザー、権限、ルールなどを定義および管理することにより、一連の効率的で制御可能な権限管理メカニズムを実装します。シンプルな操作性、高い適応性、高い制御性、優れた拡張性などの利点があり、エンタープライズレベルのアプリケーションで広く使用されています。

ここでは、Auth を使用して ThinkPHP6 で権限管理を実装する方法を説明します。

認証権限メカニズム

Auth を使用する前に、その認証権限メカニズムを理解する必要があります。そのロール、ユーザー、権限、ルール、およびその他の概念は次のように定義されます。

  1. ロール: 1 人以上のユーザーに権限を割り当てる権限単位を指します。
  2. ユーザー: システム内の個人。実際のユーザーまたはシステム アカウントの場合があります。
  3. 権限: データベースの権限設定と同様に、ユーザー (またはロール) に許可された操作動作を指します。
  4. ルール: 期間制限、制限された IP など、アクセス許可にいくつかの制限を設定することを指します。

具体的には、いくつかの一般的な権限を次のように定義できます。

  1. メニュー権限: アプリケーションの特定のメニューのアクセス制御を指し、ユーザーに表示されるさまざまな機能を許可します。さまざまなメニュー項目。
  2. 操作権限: アプリケーションの特定の操作動作に対するアクセス制御を指し、異なるユーザーに異なる操作権限を与えることができます。
  3. データ権限: アプリケーション内の特定のデータへのアクセスを制御することを指し、ユーザーが自分に関連付けられたデータのみを表示または変更できるように制限できます。
  4. フィールド権限: アプリケーション内の特定のフィールドのアクセス制御を指し、ユーザーが関連付けられているフィールドのみを表示または変更できるように制限できます。

認証許可操作の実装

認証許可メカニズムの基本概念を使用して、ThinkPHP6 で Auth 認証許可操作を開始できます。

  1. Auth プラグインのインストール

最初に、Auth プラグインがアプリケーションにインストールされていることを確認する必要があります。これは次のコマンドでインストールできます。 :

composer require topthink/think-auth
  1. はじめに 認証ミドルウェア

アプリケーションで認証を使用するには、config/middleware.php で設定されるミドルウェアを使用する必要があります:

return [
    //全局中间件列表
    'global' => [
            hinkmiddlewareSessionInit::class,
            hinkmiddlewareLoadLangPack::class,
            hinkmiddlewareCheckRequestCache::class,
            hinkmiddlewareSendFile::class,
    ],
    //中间件别名
    'alias' => [
        'auth' =>     hinkmiddlewareAuth::class,
    ],
];
  1. パーミッション ルールを定義する

アプリケーションを初期化するとき、パーミッション認証に使用されるいくつかのパーミッション ルールを定義する必要があります。例:

use thinkacadeAuth;

//定义规则
Auth::rule('admin.user/index', 'checkAdmin');
Auth::rule('admin.user/add', 'checkAdmin');
Auth::rule('admin.user/edit', 'checkAdmin');
Auth::rule('admin.user/del', 'checkAdmin');

上記の例では、コードでは、基本的なユーザー管理権限ルールを定義します。これらの権限がないと、対応するコントローラー操作にアクセスできません。

  1. ロールとユーザーの承認

アプリケーション内のロールとユーザーを承認する必要があります。これらはアプリケーションの初期化中に承認できます:

//定义角色
Auth::group('admin', function () {
    //设置角色权限
    Auth::setRule([
        'admin.user/index',
        'admin.user/add',
        'admin.user/edit',
        'admin.user/del',
    ]);
});

//定义用户并授权
Auth::user('admin', function () {
    Auth::addToGroup('admin')//添加角色
        ->addPermission(['admin.user/add'])//添加权限
        ->removePermission(['admin.user/del']);//移除权限
});

In In上記のコードでは、admin という名前のロールを定義し、対応する権限ルールを設定します。次に、管理者ロールを持つ admin という名前のユーザーを定義し、admin.user/add 権限を承認し、admin.user/del 権限を削除しました。

  1. 認証

権限認証を実行する前に、まずコントローラーでロール、ユーザー、権限などを判断できます。上記のコードでは、ユーザーのログイン検証、スーパー管理者の検証、ロールと権限の検証などを実行し、最後に該当するページに戻るかジャンプします。

概要

上記の操作を通じて、ThinkPHP6 フレームワークの Auth 認証権限操作を使用して、シンプル、効率的、制御可能なアプリケーション権限管理を実現し、データのセキュリティと操作権限の制御を確保できます。使用中、アプリケーションのセキュリティを確保するには、さまざまな権限ルールを慎重に設定し、対応するユーザーとロールの権限を制限し、アプリケーションの拡張性と制御性を向上させる必要があります。

以上がThinkPHP6 で Auth 認証局操作を使用するにはどうすればよいですか?の詳細内容です。詳細については、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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Mac版

SublimeText3 Mac版

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

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

メモ帳++7.3.1

メモ帳++7.3.1

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

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール