現在の位置: ホーム> 最新記事一覧> PHPを使用してユーザーログインとマルチレベルの役割の許可管理を実装する方法

PHPを使用してユーザーログインとマルチレベルの役割の許可管理を実装する方法

M66 2025-06-25

PHPを使用してユーザーログインとマルチレベルの役割の許可管理を実装する方法

Webサイトを開発するとき、ユーザーのログインとログアウトは不可欠な機能です。ウェブサイトが拡大し続けるにつれて、ユーザーの役割と許可の洗練された管理を達成することが特に重要です。この記事では、PHP関数を介してユーザーログインおよびログアウト関数を実装する方法を詳細に紹介し、異なるユーザーが対応する操作権限を確保するために、マルチレベルの役割と権限の管理に拡張します。

1.ユーザー情報データベースを作成します

まず、ユーザー名、パスワード、役割、作成時間など、ユーザー情報を保存するデータベーステーブルを作成する必要があります。以下は、ユーザーテーブルのデータベース構造です。

テーブルユーザーを作成します(
    id int(11)auto_incrementプライマリキー、
    username varchar(100)nullではありません、
    パスワードvarchar(100)nullではありません、
    ロールvarchar(50)nullではなく、
    created_atタイムスタンプデフォルトcurrent_timestamp
);

このテーブル構造で:

  • ユーザー名は、ユーザー名を保存するために使用されます。
  • パスワードは、パスワードの暗号化された値を保存します。
  • ロールストアユーザーロール、
  • created_atはユーザーの作成時間を保存します。

2。PHPログイン関数を書き込みます

次に、ユーザーのログイン関数を実装するPHP関数を書き込みます。

function login($ username、$ password){
    //データベースからユーザー情報$ query = "select * fromユーザーからusername = '$ username'";
    $ result = mysqli_query($ conn、$ query);
    
    if(mysqli_num_rows($ result)== 1){
        $ user = mysqli_fetch_assoc($ result);
        
        //パスワードを確認するif(password_verify($ password、$ user ['password'])){
            //ユーザーログインステータス$ _Session ['user_id'] = $ user ['id'];
            $ _SESSION ['USERNAME'] = $ user ['username'];
            $ _SESSION ['ROLE'] = $ user ['role'];
            trueを戻るします。
        }
    }
    
    falseを戻るします。
}

上記のコードは、最初にユーザー名がデータベースに存在するかどうかを確認します。存在する場合は、 password_verify関数を介してパスワードの正しさを確認します。検証が渡された場合、ユーザー情報は$ _Sessionに保存され、ユーザーログインを実現します。

3。PHPログアウト関数を書き込みます

以下は、 session_unset()session_destroy()を使用して、ユーザーがログアウトするPHPコードです。

function logout(){
    //セッションを破壊します
    session_unset();
    session_destroy();
}

このコードを使用して、ユーザーはセッションから正常にログアウトし、ログイン状態からログアウトできます。

4.マルチレベルの役割と許可管理を実装します

ログインおよびログアウト関数に基づいて、さらに拡張してマルチレベルのロールと許可制御を追加できます。ユーザーの権限を確認する機能は次のとおりです。

function checkpermission($ rebyrolole){
    if(isset($ _ session ['role'])&& $ _session ['rofis'] == $ couldrole){
        trueを戻るします。
    }
    falseを戻るします。
}

この関数は、現在のユーザーの役割が必要な役割を満たしているかどうかをチェックします。一致する場合はtrueを返します。それ以外の場合は、 falseを返します。

5。許可制御の適用

次に、さまざまな役割に応じて異なる操作を実行できます。たとえば、管理者と通常のユーザーの許可制御:

if(checkpermission( 'admin')){
    //マネージャーオペレーションを実行} elseif(checkpermission( 'user')){
    //一般的にのユーザー動作しますを実行} else {
    //許可動作しますなし}

ユーザーの役割に応じて、システムは対応する操作を実行します。管理者は、より高い権限で操作を実行できますが、通常のユーザーは通常の操作のみを実行できます。

要約します

上記のコードの例を介して、PHP関数を使用してユーザーログイン、ログアウト、およびマルチレベルの役割と許可管理を実装する方法を示します。このようにして、ウェブサイトの開発者は、ユーザーのアクセス許可を柔軟に管理して、システムのセキュリティと信頼性を確保することができます。