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_username
、your_password
和your_database
替换为您的数据库连接信息。
步骤四:创建模型
在CodeIgniter框架中,模型用于处理数据的操作。在application/models
目录下,创建User_model.php
和Role_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.php
和Admin.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.php
和dashboard.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
控制器的login
rrreee
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
:
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!