ホームページ バックエンド開発 PHPチュートリアル PHP 関数を使用して、ユーザーのログインとログアウトに対するマルチレベルのロールと権限の管理を実装するにはどうすればよいですか?

PHP 関数を使用して、ユーザーのログインとログアウトに対するマルチレベルのロールと権限の管理を実装するにはどうすればよいですか?

Jul 24, 2023 pm 09:49 PM
ログアウト ユーザーログイン 権限管理 マルチレベルの役割

PHP 関数を使用して、ユーザーのログインとログアウトに対するマルチレベルのロールと権限の管理を実装するにはどうすればよいですか?

Web サイトを開発する場合、ユーザーのログインとログアウトは非常に一般的で重要な機能です。 Web サイトの機能が拡大するにつれて、通常、さまざまなユーザーが異なる操作権限を持っていることを確認するために、複数レベルの役割と権限の管理が必要になります。この記事では、PHP 関数を使用してこの機能を実現する方法とコード例を紹介します。

まず、ユーザー情報を保存するデータベース テーブルを作成する必要があります。テーブル構造は次のとおりです。

CREATE TABLE users (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(100) NOT NULL,
    password VARCHAR(100) NOT NULL,
    role VARCHAR(50) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
ログイン後にコピー

このうち、 username にはユーザー名が格納され、 password にはパスワードのハッシュ値が格納され、 role ユーザーの役割を保存します。created_at ユーザーの作成時間を保存します。

次に、ログイン関数とログアウト関数の PHP コードを記述する必要があります。 1 つ目はログイン関数です:

function login($username, $password) {
    // 从数据库中查询用户信息
    $query = "SELECT * FROM users WHERE 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'];

            return true;
        }
    }

    return false;
}
ログイン後にコピー

上記のコードは、まずユーザー名がデータベースに存在するかどうかを照会します。存在する場合は、password_verify 関数によってパスワードが正しいかどうかが検証されます。検証に合格すると、$_SESSION にユーザー情報が保存され、ユーザーのログインが実現されます。

次はログアウト関数のコードです:

function logout() {
    // 销毁session
    session_unset();
    session_destroy();
}
ログイン後にコピー

上記のコードは、session_unset 関数と session_destroy を呼び出すことにより、現在の $_SESSION を破棄します。 ### 関数 ###。 上記のコードを通じて、基本的なユーザーのログインおよびログアウト機能を実装できます。ただし、マルチレベルのロールと権限の管理を実現するには、対応する機能インターフェイスも提供する必要があります。

まず、ユーザーの権限をチェックする関数を記述する必要があります。

function checkPermission($requiredRole) {
    if (isset($_SESSION['role']) && $_SESSION['role'] == $requiredRole) {
        return true;
    } else {
        return false;
    }
}
ログイン後にコピー

上記のコードは、現在のユーザーのロールが必要なロールを満たしているかどうかをチェックします。満足した場合は

true

を返し、そうでない場合は false を返します。 次に、

checkPermission

関数を呼び出して、対応するアクセス許可制御を実装できます。

if (checkPermission('admin')) {
    // 执行管理员操作
} elseif (checkPermission('user')) {
    // 执行普通用户操作
} else {
    // 无权限操作
}
ログイン後にコピー
上記のコードは、ユーザーのロールに基づいて対応する操作を実行します。ユーザーロールが管理者の場合は管理者の操作を実行し、ユーザーロールが一般ユーザーの場合は通常のユーザーの操作を実行し、権限を持たないユーザーの場合は権限のない操作を実行します。

要約すると、上記のコード例を通じて、PHP 関数を使用して、ユーザーのログインとログアウトのためのマルチレベルのロールと権限の管理を実装します。 Webサイトを構築する際に、柔軟なユーザー権限制御を実現し、Webサイトのセキュリティを確保することができます。

以上がPHP 関数を使用して、ユーザーのログインとログアウトに対するマルチレベルのロールと権限の管理を実装するにはどうすればよいですか?の詳細内容です。詳細については、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

小紅書アカウントをキャンセルして回復できますか?小紅書が中止になった後はどうなりますか? 小紅書アカウントをキャンセルして回復できますか?小紅書が中止になった後はどうなりますか? Mar 23, 2024 am 11:11 AM

ソーシャルメディアの急速な発展に伴い、Xiaohongshu はユーザーが自分の生活やショッピング体験を共有する人気のプラットフォームの 1 つになりました。ただし、個人的な理由、セキュリティ上の懸念、その他の理由により、Xiaohongshu アカウントをキャンセルする必要がある場合があります。ただし、一度ログアウトした場合、アカウントを復元することはできますか?詳しく見てみましょう。 1. 小紅書アカウントをキャンセルした後に回復できますか? Xiaohonshu のアカウントキャンセルプロセスを見てみましょう。ユーザーがアカウントをキャンセルする場合は、Xiaohongshu アプリの [設定] ページに移動し、[アカウントとセキュリティ] を選択して、[アカウントをキャンセル] ボタンをクリックすることでログアウト操作を完了できます。キャンセルを確認した後、Xiaohongshu はユーザーのアカウントを処理し、関連する個人情報と出版物を削除します。

Alipay アカウントをキャンセルする方法 Alipay アカウントをキャンセルする手順。 Alipay アカウントをキャンセルする方法 Alipay アカウントをキャンセルする手順。 Feb 22, 2024 pm 03:40 PM

「アカウントとセキュリティ」のアカウント ログアウト インターフェイスでログアウトできます。チュートリアル 適用モデル: iPhone13 システム: iOS15.5 バージョン: Alipay 10.2.8 分析 1 Alipay の My インターフェースの右上隅にある小さな歯車アイコンをクリックします。 2ポップアップウィンドウの「アカウントとセキュリティ」をクリックします。 3アカウントとセキュリティ画面の[セキュリティセンター]をクリックします。 4セキュリティセンター画面の[アカウントログアウト]をクリックします。 5「今すぐキャンセル」をクリックし、指示に従って操作を完了し、Alipayからログアウトしてください。補足: Alipay がキャンセルされた場合、再度申請できますか? 1 Alipay がキャンセルされた場合、再申請は可能ですが、元のアカウントを復元することはできません。 Alipay アカウントが正常に閉鎖された場合、アカウントを復元することはできず、アカウントの元の権利とサービスは無効になります。これはつまり

チャイナモバイルカードの解約方法 チャイナモバイルカードの解約方法 Mar 14, 2024 pm 06:25 PM

China Mobile カードをキャンセルするにはどうすればよいですか? China Mobile では、テレホン カードを直接キャンセルできます。ほとんどのユーザーはモバイル カードのキャンセル方法を知りません。次は、チャイナ モバイル カードのキャンセル方法に関するグラフィック チュートリアルです。興味のあるユーザーはぜひ見に来てください! China Mobile カードのキャンセル方法 1. まず China Mobile アプリを開き、メイン ページの右下隅にある [My] エリアをクリックし、右上隅にある [設定] ボタンを選択します; 2. 次に、設定機能ページで、[アカウントとセキュリティ] オプションを選択してクリックします; 3. 次に、アカウントとセキュリティ サービス ページに移動し、[ログアウト サービス] 機能を見つけます; 4. 最後に、下の図に示すページで、四角枠内の[申請を確認する]をクリックしてログアウトしてください。

Douban アカウントをキャンセルするにはどうすればよいですか? Doubanアカウントの解約操作手順! Douban アカウントをキャンセルするにはどうすればよいですか? Doubanアカウントの解約操作手順! Mar 15, 2024 pm 06:40 PM

1. Douban アカウントをキャンセルするにはどうすればよいですか? Doubanアカウントの解約操作手順! 1. Douban アプリの左上隅にあるボタンをクリックし、[設定] を選択します。 2. 設定インターフェイスで、情報とアカウントのオプションを選択します。 3. 次に、情報とアカウント設定ページに入り、Douban セキュリティ センターをクリックします。 4. Douban セキュリティ センター インターフェイスに移動した後、クリックしてアカウントからログアウトします。 5. 最後に、アカウントを削除する場合は、「ログアウトを続行」ボタンをクリックしてアカウントのログアウトを完了します。

小紅書をキャンセルした場合、返金してもらえますか?キャンセルはすぐに有効になりますか? 小紅書をキャンセルした場合、返金してもらえますか?キャンセルはすぐに有効になりますか? Mar 08, 2024 am 08:04 AM

近年、ソーシャルメディアの台頭により、インターネット上で自分の生活の詳細を共有することを選択する人がますます増えています。小紅書は、ショッピングのレビューやライフシェアをテーマにしたソーシャルプラットフォームとして、若者に深く愛されています。ただし、場合によっては、Xiaohongshu アカウントをキャンセルしなければならない状況に遭遇することがあります。それで、Xiaohongshu がキャンセルされた場合でも、取り戻すことはできますか? 1. 小紅書がキャンセルされた場合でも、取り戻すことはできますか?できません。小紅書アカウントをキャンセルする場合、最初に知っておく必要があるのは、キャンセル操作は元に戻せないということです。キャンセルが成功すると、アカウントを復元することはできません。したがって、ログアウト操作を続行する前に、よく考える必要があります。小紅書が提供する公式ヘルプページには、ユーザーがアカウントを削除すると、対応するデータとコンテンツが完全に削除されると明記されています。

Debian 11 でシステムをログアウトまたはシャットダウンする方法 Debian 11 でシステムをログアウトまたはシャットダウンする方法 Dec 27, 2023 pm 02:22 PM

Debian11でシステムをシャットダウンするにはどうすればよいですか?エディターでの具体的な操作を見てみましょう。方法 1: [すべてのアプリ] - [ログアウト] をクリックします。ポップアップインターフェイスで[シャットダウン]をクリックします。方法 2: ターミナルで次のコマンドを実行します: sudoshutdown-hnow

Layui フレームワークを使用してマルチユーザー ログインをサポートする権限管理システムを開発する方法 Layui フレームワークを使用してマルチユーザー ログインをサポートする権限管理システムを開発する方法 Oct 27, 2023 pm 01:27 PM

Layui フレームワークを使用して、マルチユーザー ログインをサポートする権限管理システムを開発する方法 はじめに: 現代のインターネット時代では、パーソナライズされた機能と権限管理を実現するために、ますます多くのアプリケーションがマルチユーザー ログインをサポートする必要があります。システムのセキュリティとデータのプライバシーを保護するために、開発者は特定の手段を使用してマルチユーザー ログインと権限管理機能を実装する必要があります。この記事では、Layui フレームワークを使用してマルチユーザー ログインをサポートする権限管理システムを開発する方法と、具体的なコード例を紹介します。開発を始める前の準備

React Query でデータ共有と権限管理を実装するにはどうすればよいですか? React Query でデータ共有と権限管理を実装するにはどうすればよいですか? Sep 27, 2023 pm 04:13 PM

ReactQuery でデータ共有と権限管理を実装するにはどうすればよいですか?テクノロジーの進歩により、フロントエンド開発におけるデータ管理はより複雑になりました。従来の方法では、Redux や Mobx などの状態管理ツールを使用して、データ共有と権限管理を処理する場合があります。しかし、ReactQuery の登場後は、ReactQuery を使用してこれらの問題にもっと便利に対処できるようになりました。この記事では、ReactQuery でのデータ共有と権限の実装方法について説明します。

See all articles