Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Langkah untuk melaksanakan kebenaran pengguna dan pengurusan peranan menggunakan rangka kerja CodeIgniter

Langkah untuk melaksanakan kebenaran pengguna dan pengurusan peranan menggunakan rangka kerja CodeIgniter

WBOY
WBOYasal
2023-07-28 22:42:531569semak imbas

Langkah untuk melaksanakan kebenaran pengguna dan pengurusan peranan menggunakan rangka kerja CodeIgniter

CodeIgniter ialah rangka kerja PHP sumber terbuka berdasarkan corak reka bentuk MVC (Model-View-Controller), sesuai untuk membina aplikasi web dengan cepat. Keizinan pengguna dan pengurusan peranan adalah bahagian yang sangat penting apabila membangunkan aplikasi web. Artikel ini akan memperkenalkan langkah-langkah untuk melaksanakan kebenaran pengguna dan pengurusan peranan menggunakan rangka kerja CodeIgniter.

Langkah 1: Pasang rangka kerja CodeIgniter
Mula-mula, anda perlu memuat turun dan memasang rangka kerja CodeIgniter. Anda boleh memuat turun versi terkini rangka kerja dari tapak web rasmi (https://codeigniter.com). Selepas membuka zip, letakkan fail rangka kerja dalam direktori pelayan web anda.

Langkah 2: Buat pangkalan data dan jadual data
Seterusnya, anda perlu mencipta pangkalan data dan mencipta jadual data berkaitan untuk menyimpan maklumat pengguna dan peranan. Berikut ialah contoh mudah:

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
);

CREATE TABLE `roles` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `role_name` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
);

CREATE TABLE `user_roles` (
  `user_id` int(11) NOT NULL,
  `role_id` int(11) NOT NULL,
  PRIMARY KEY (`user_id`, `role_id`),
  FOREIGN KEY (`user_id`) REFERENCES `users` (`id`),
  FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`)
);

Langkah 3: Konfigurasikan sambungan pangkalan data
Dalam rangka kerja CodeIgniter, anda perlu mengkonfigurasi maklumat sambungan pangkalan data. Dalam fail application/config/database.php, ubah suai kandungan berikut: application/config/database.php文件中,修改以下内容:

$db['default'] = array(
    ...
    'hostname' => 'localhost',
    'username' => 'your_username',
    'password' => 'your_password',
    'database' => 'your_database',
    ...
);

your_usernameyour_passwordyour_database替换为您的数据库连接信息。

步骤四:创建模型
在CodeIgniter框架中,模型用于处理数据的操作。在application/models目录下,创建User_model.phpRole_model.php两个文件,并编写以下内容:

User_model.php

class User_model extends CI_Model {
    public function check_login($username, $password) {
        $this->db->where('username', $username);
        $this->db->where('password', $password);
        $query = $this->db->get('users');
        return $query->row();
    }

    public function get_user_roles($user_id) {
        $this->db->select('roles.role_name');
        $this->db->from('user_roles');
        $this->db->join('roles', 'user_roles.role_id = roles.id');
        $this->db->where('user_roles.user_id', $user_id);
        $query = $this->db->get();
        return $query->result();
    }
}

Role_model.php

class Role_model extends CI_Model {
    public function get_all_roles() {
        $query = $this->db->get('roles');
        return $query->result();
    }
}

步骤五:创建控制器
application/controllers目录下,创建Auth.phpAdmin.php两个文件,并编写以下内容:

Auth.php

class Auth extends CI_Controller {
    public function login() {
        // 处理用户登录
    }

    public function logout() {
        // 处理用户注销
    }
}

Admin.php

class Admin extends CI_Controller {
    public function index() {
        $user_id = $this->session->userdata('user_id');
        $this->load->model('User_model');
        $data['user_roles'] = $this->User_model->get_user_roles($user_id);
        $this->load->view('admin/dashboard', $data);
    }
}

步骤六:创建视图
application/views目录下,创建login_form.phpdashboard.php两个文件,并编写以下内容:

login_form.php

<form action="/auth/login" method="post">
    <input type="text" name="username" placeholder="Username">
    <input type="password" name="password" placeholder="Password">
    <input type="submit" value="Login">
</form>

dashboard.php

<h1>Welcome to the Dashboard</h1>
<p>User Roles:</p>
<ul>
    <?php foreach($user_roles as $role): ?>
        <li><?= $role->role_name ?></li>
    <?php endforeach; ?>
</ul>

步骤七:配置路由
application/config/routes.php文件中,配置默认路由:

$route['default_controller'] = 'auth/login';

这将设置Auth控制器的loginrrreee

Ganti nama_pengguna_anda, <kod>kata laluan_anda</kod> dan <kod>pangkalan data_anda Gantikan kod> dengan maklumat sambungan pangkalan data anda. <p><br>Langkah 4: Cipta model</p>Dalam rangka kerja CodeIgniter, model digunakan untuk memproses data. Dalam direktori <code>application/models, buat dua fail: User_model.php dan Role_model.php, dan tulis kandungan berikut:


User_model.php:

rrreee🎜Role_model.php: 🎜rrreee🎜Langkah 5: Buat pengawal🎜Dalam direktori application/controllers, buat Auth.php dan Admin.php dua fail, dan tulis kandungan berikut: 🎜🎜Auth.php: 🎜rrreee🎜Admin.php :🎜rrreee🎜Langkah 6: Buat paparan🎜Dalam direktori <code>application/views, buat login_form.php dan dashboard.php fail dan tulis kandungan berikut: 🎜🎜login_form.php: 🎜rrreee🎜dashboard.php: 🎜rrreee🎜Langkah 7: Konfigurasikan penghalaan 🎜Dalam aplikasi/ Masuk fail config/routes.php, konfigurasikan laluan lalai: 🎜rrreee🎜Ini akan menetapkan kaedah log masuk pengawal Auth sebagai kaedah pengawal lalai. 🎜🎜Langkah 8: Uji🎜Gunakan penyemak imbas untuk mengakses aplikasi web anda dan cuba log masuk. Jika log masuk berjaya, anda akan dialihkan ke halaman papan pemuka dengan maklumat peranan pengguna anda dipaparkan. 🎜🎜Ringkasan: 🎜Artikel ini memperkenalkan langkah-langkah untuk melaksanakan kebenaran pengguna dan pengurusan peranan menggunakan rangka kerja CodeIgniter. Dengan mencipta pangkalan data dan jadual data, mengkonfigurasi sambungan pangkalan data, mencipta model, mencipta pengawal dan mencipta pandangan, kami boleh melaksanakan fungsi log masuk pengguna, log keluar dan paparan peranan pengguna. Selepas mempelajari langkah di atas, anda boleh mengembangkan lagi dan mengoptimumkan kebenaran pengguna dan fungsi pengurusan peranan mengikut keperluan khusus. 🎜

Atas ialah kandungan terperinci Langkah untuk melaksanakan kebenaran pengguna dan pengurusan peranan menggunakan rangka kerja CodeIgniter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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