Rumah pembangunan bahagian belakang tutorial php Bagaimana untuk menggunakan fungsi PHP untuk melaksanakan peranan berbilang peringkat dan pengurusan kebenaran untuk log masuk dan log keluar pengguna?

Bagaimana untuk menggunakan fungsi PHP untuk melaksanakan peranan berbilang peringkat dan pengurusan kebenaran untuk log masuk dan log keluar pengguna?

Jul 24, 2023 pm 09:49 PM
Log keluar Log masuk pengguna Pengurusan kebenaran peranan pelbagai peringkat

Bagaimana untuk menggunakan fungsi PHP untuk melaksanakan peranan berbilang peringkat dan pengurusan kebenaran untuk log masuk dan log keluar pengguna?

Log masuk dan log keluar pengguna adalah fungsi yang sangat biasa dan penting semasa membangunkan tapak web. Dengan pengembangan fungsi tapak web, ia biasanya perlu untuk melaksanakan peranan berbilang peringkat dan pengurusan kebenaran untuk memastikan pengguna yang berbeza mempunyai kebenaran operasi yang berbeza. Artikel ini akan memperkenalkan cara menggunakan fungsi PHP untuk mencapai fungsi ini dan menyediakan contoh kod.

Pertama, kita perlu mencipta jadual pangkalan data untuk menyimpan maklumat pengguna. Struktur jadual adalah seperti berikut:

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
);
Salin selepas log masuk

Antaranya, username menyimpan nama pengguna, password menyimpan nilai hash kata laluan, role menyimpan peranan pengguna, created_at menyimpan masa penciptaan pengguna. username 存储用户名,password 存储密码的散列值,role 存储用户角色,created_at 存储用户创建时间。

接下来,我们需要编写登录和注销功能的PHP代码。首先是登录功能:

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;
}
Salin selepas log masuk

上述代码首先查询数据库中是否存在该用户名,若存在,则通过 password_verify 函数验证密码的正确性。若验证通过,则将用户信息存储在 $_SESSION 中,实现用户登录。

接下来是注销功能的代码:

function logout() {
    // 销毁session
    session_unset();
    session_destroy();
}
Salin selepas log masuk

上述代码通过调用 session_unset 函数和 session_destroy 函数销毁当前的 $_SESSION

通过以上的代码,我们可以实现基本的用户登录和注销功能。但为了实现多级角色和权限管理,我们还需要提供相应的功能接口。

首先,我们需要编写一个检查用户权限的函数:

function checkPermission($requiredRole) {
    if (isset($_SESSION['role']) && $_SESSION['role'] == $requiredRole) {
        return true;
    } else {
        return false;
    }
}
Salin selepas log masuk

上述代码会检查当前用户的角色是否满足所需的角色。若满足,则返回 true,否则返回 false

接下来,我们可以通过调用 checkPermission

Seterusnya, kita perlu menulis kod PHP untuk fungsi log masuk dan log keluar. Yang pertama ialah fungsi log masuk:

if (checkPermission('admin')) {
    // 执行管理员操作
} elseif (checkPermission('user')) {
    // 执行普通用户操作
} else {
    // 无权限操作
}
Salin selepas log masuk
Kod di atas terlebih dahulu menanyakan sama ada nama pengguna wujud dalam pangkalan data Jika ia wujud, ketepatan kata laluan disahkan melalui fungsi password_verify. Jika pengesahan diluluskan, maklumat pengguna disimpan dalam $_SESSION untuk merealisasikan log masuk pengguna.

Seterusnya ialah kod untuk fungsi log keluar: 🎜rrreee🎜Kod di atas memusnahkan $_SESSION semasa dengan memanggil fungsi session_unset dan session_destroy fungsi. 🎜🎜Dengan kod di atas, kami boleh melaksanakan fungsi log masuk dan log keluar pengguna asas. Tetapi untuk mencapai pengurusan peranan dan kebenaran berbilang peringkat, kami juga perlu menyediakan antara muka berfungsi yang sepadan. 🎜🎜Pertama, kita perlu menulis fungsi yang menyemak kebenaran pengguna: 🎜rrreee🎜Kod di atas akan menyemak sama ada peranan pengguna semasa memenuhi peranan yang diperlukan. Jika berpuas hati, kembalikan true, jika tidak kembalikan false. 🎜🎜Seterusnya, kami boleh melaksanakan kawalan kebenaran yang sepadan dengan memanggil fungsi checkPermission. 🎜rrreee🎜Kod di atas akan melaksanakan operasi yang sepadan berdasarkan peranan pengguna. Jika peranan pengguna ialah pentadbir, operasi pentadbir dilakukan jika peranan pengguna adalah pengguna biasa, operasi pengguna biasa dilakukan jika pengguna tidak mempunyai kebenaran, operasi tanpa kebenaran dilakukan; 🎜🎜Ringkasnya, melalui contoh kod di atas, kami menggunakan fungsi PHP untuk melaksanakan peranan berbilang peringkat dan pengurusan kebenaran untuk log masuk dan log keluar pengguna. Apabila membangunkan tapak web, kaedah ini boleh mencapai kawalan kebenaran pengguna yang fleksibel dan memastikan keselamatan tapak web. 🎜

Atas ialah kandungan terperinci Bagaimana untuk menggunakan fungsi PHP untuk melaksanakan peranan berbilang peringkat dan pengurusan kebenaran untuk log masuk dan log keluar pengguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bolehkah saya membatalkan akaun Xiaohongshu saya dan memulihkannya? Apakah yang akan berlaku selepas Xiaohongshu dibatalkan? Bolehkah saya membatalkan akaun Xiaohongshu saya dan memulihkannya? Apakah yang akan berlaku selepas Xiaohongshu dibatalkan? Mar 23, 2024 am 11:11 AM

Dengan perkembangan pesat media sosial, Xiaohongshu telah menjadi salah satu platform popular untuk pengguna berkongsi kehidupan dan pengalaman membeli-belah mereka. Walau bagaimanapun, kadangkala kami mungkin perlu membatalkan akaun Xiaohongshu kami, sama ada atas sebab peribadi, kebimbangan keselamatan atau pertimbangan lain. Walau bagaimanapun, setelah log keluar, bolehkah kami memulihkan akaun? Mari kita lihat lebih dekat. 1. Bolehkah saya mendapatkan semula akaun Xiaohongshu saya selepas membatalkannya? Mari kita lihat proses pembatalan akaun Xiaohongshu. Apabila pengguna memutuskan untuk membatalkan akaun mereka, mereka boleh melengkapkan operasi log keluar dengan memasuki halaman "Tetapan" apl Xiaohongshu, memilih "Akaun dan Keselamatan", dan kemudian mengklik butang "Batalkan Akaun". Selepas mengesahkan pembatalan, Xiaohongshu akan memproses akaun pengguna dan memadamkan maklumat peribadi dan penerbitan yang berkaitan.

Bagaimana untuk membatalkan akaun Alipay? Bagaimana untuk membatalkan akaun Alipay? Feb 22, 2024 pm 03:40 PM

Anda boleh log keluar pada antara muka log keluar akaun dalam Akaun dan Keselamatan. Tutorial Model Berkenaan: iPhone13 Sistem: iOS15.5 Versi: Alipay 10.2.8 Analisis 1 Klik ikon gear kecil di penjuru kanan sebelah atas antara muka Saya Alipay. 2Klik [Akaun dan Keselamatan] dalam tetingkap pop timbul. 3Klik [Security Center] pada akaun dan antara muka keselamatan. 4Klik [Log Keluar Akaun] pada antara muka Pusat Keselamatan. 5Klik [Batal Sekarang] dan lengkapkan operasi yang berkaitan mengikut arahan untuk log keluar daripada Alipay. Tambahan: Jika Alipay dibatalkan, bolehkah saya memohon semula? 1 Jika Alipay dibatalkan, anda boleh memohon semula, tetapi akaun asal tidak boleh dipulihkan. Setelah akaun Alipay berjaya ditutup, ia tidak boleh dipulihkan dan hak dan perkhidmatan asal akaun tersebut akan menjadi tidak sah. ini bermaksud

Bagaimana untuk membatalkan kad China Mobile Bagaimana untuk membatalkan kad China Mobile Mar 14, 2024 pm 06:25 PM

Bagaimana untuk membatalkan kad Mudah Alih China? Di China Mobile, anda boleh membatalkan kad telefon secara terus Kebanyakan pengguna tidak tahu cara membatalkan kad mudah alih Seterusnya, editor akan menyediakan pengguna dengan tutorial grafik tentang cara membatalkan China Kad mudah alih. Pengguna yang berminat Datang dan lihat! Cara membatalkan kad Mudah Alih China 1. Mula-mula buka APP Mudah Alih China, klik kawasan [Saya] di sudut kanan bawah halaman utama dan pilih butang [Tetapan] di sudut kanan atas. 2. Kemudian lompat ke halaman fungsi tetapan, pilih pilihan [Akaun dan Keselamatan] dan klik 3. Kemudian pergi ke halaman akaun dan perkhidmatan keselamatan dan cari fungsi [Logout Service] 4. Akhir sekali, pada halaman yang ditunjukkan dalam gambar di bawah, semak kotak persegi dan klik [Sahkan Permohonan] untuk log keluar.

Bagaimana untuk membatalkan akaun Douban? Proses operasi pembatalan akaun Douban! Bagaimana untuk membatalkan akaun Douban? Proses operasi pembatalan akaun Douban! Mar 15, 2024 pm 06:40 PM

1. Bagaimana untuk membatalkan akaun Douban? Proses operasi pembatalan akaun Douban! 1. Klik butang di penjuru kiri sebelah atas apl Douban dan pilih Tetapan. 2. Dalam antara muka tetapan, pilih maklumat dan pilihan akaun. 3. Kemudian masukkan maklumat dan halaman tetapan akaun, dan klik Pusat Keselamatan Douban. 4. Selepas melompat ke antara muka Pusat Keselamatan Douban, klik untuk log keluar daripada akaun. 5. Akhir sekali, dalam memadam akaun, klik butang Teruskan untuk log keluar untuk melengkapkan log keluar akaun.

Bolehkah saya mendapatkannya semula jika saya membatalkan Xiaohongshu? Adakah pembatalan berkuat kuasa serta-merta? Bolehkah saya mendapatkannya semula jika saya membatalkan Xiaohongshu? Adakah pembatalan berkuat kuasa serta-merta? Mar 08, 2024 am 08:04 AM

Dalam beberapa tahun kebelakangan ini, dengan peningkatan media sosial, semakin ramai orang memilih untuk berkongsi butiran kehidupan mereka di Internet. Sebagai platform sosial dengan tema ulasan membeli-belah dan perkongsian hidup, Xiaohongshu amat disayangi oleh golongan muda. Walau bagaimanapun, kadangkala kami mungkin menghadapi situasi yang memerlukan kami membatalkan akaun Xiaohongshu kami. Jadi, jika Xiaohongshu dibatalkan, bolehkah saya mendapatkannya semula? 1. Jika Xiaohongshu telah dibatalkan, bolehkah saya mendapatkannya semula? tidak boleh. Apabila kami memutuskan untuk membatalkan akaun Xiaohongshu kami, perkara pertama yang perlu kami ketahui ialah operasi pembatalan tidak dapat dipulihkan Setelah pembatalan berjaya, akaun tidak boleh dipulihkan. Oleh itu, kita mesti berfikir dua kali sebelum meneruskan operasi log keluar. Pada halaman bantuan rasmi yang disediakan oleh Xiaohongshu, mereka dengan jelas menyatakan bahawa sebaik sahaja pengguna memadamkan akaun mereka, data dan kandungan yang sepadan akan dipadamkan secara kekal.

Bagaimana untuk log keluar atau menutup sistem dalam Debian 11 Bagaimana untuk log keluar atau menutup sistem dalam Debian 11 Dec 27, 2023 pm 02:22 PM

Bagaimana untuk mematikan sistem dalam Debian11? Mari kita lihat operasi khusus dengan editor. Kaedah 1: Klik [Semua Apl] - [Log Keluar]. Dalam antara muka pop timbul, klik [Shut Down]. Kaedah 2: Jalankan arahan berikut dalam terminal: sudoshutdown-hnow

Cara menggunakan rangka kerja Layui untuk membangunkan sistem pengurusan kebenaran yang menyokong log masuk berbilang pengguna Cara menggunakan rangka kerja Layui untuk membangunkan sistem pengurusan kebenaran yang menyokong log masuk berbilang pengguna Oct 27, 2023 pm 01:27 PM

Cara menggunakan rangka kerja Layui untuk membangunkan sistem pengurusan kebenaran yang menyokong log masuk berbilang pengguna Pengenalan: Dalam era Internet moden, semakin banyak aplikasi perlu menyokong log masuk berbilang pengguna untuk mencapai fungsi yang diperibadikan dan pengurusan kebenaran. Untuk melindungi keselamatan sistem dan privasi data, pembangun perlu menggunakan cara tertentu untuk melaksanakan log masuk berbilang pengguna dan fungsi pengurusan kebenaran. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Layui untuk membangunkan sistem pengurusan kebenaran yang menyokong log masuk berbilang pengguna dan memberikan contoh kod khusus. Persediaan sebelum memulakan pembangunan

Bagaimana untuk melaksanakan perkongsian data dan pengurusan kebenaran dalam React Query? Bagaimana untuk melaksanakan perkongsian data dan pengurusan kebenaran dalam React Query? Sep 27, 2023 pm 04:13 PM

Bagaimana untuk melaksanakan perkongsian data dan pengurusan kebenaran dalam ReactQuery? Kemajuan dalam teknologi telah menjadikan pengurusan data dalam pembangunan bahagian hadapan lebih kompleks. Dengan cara tradisional, kami mungkin menggunakan alat pengurusan negeri seperti Redux atau Mobx untuk mengendalikan perkongsian data dan pengurusan kebenaran. Walau bagaimanapun, selepas kemunculan ReactQuery, kami boleh menggunakannya untuk menangani masalah ini dengan lebih mudah. Dalam artikel ini, kami akan menerangkan cara melaksanakan perkongsian data dan kebenaran dalam ReactQuery

See all articles