Maison > développement back-end > tutoriel php > Étapes pour mettre en œuvre l'autorisation des utilisateurs et la gestion des rôles à l'aide du framework CodeIgniter

Étapes pour mettre en œuvre l'autorisation des utilisateurs et la gestion des rôles à l'aide du framework CodeIgniter

WBOY
Libérer: 2023-07-29 06:48:01
original
1662 Les gens l'ont consulté

Étapes pour implémenter l'autorisation des utilisateurs et la gestion des rôles à l'aide du framework CodeIgniter

CodeIgniter est un framework PHP open source basé sur le modèle de conception MVC (Model-View-Controller), adapté à la création rapide d'applications Web. L'autorisation des utilisateurs et la gestion des rôles sont des éléments très importants lors du développement d'applications Web. Cet article présentera les étapes de mise en œuvre de l'autorisation des utilisateurs et de la gestion des rôles à l'aide du framework CodeIgniter.

Étape 1 : Installez le framework CodeIgniter
Tout d'abord, vous devez télécharger et installer le framework CodeIgniter. Vous pouvez télécharger la dernière version du framework sur le site officiel (https://codeigniter.com). Après décompression, placez les fichiers du framework dans le répertoire de votre serveur web.

Étape 2 : Créer une base de données et des tables de données
Ensuite, vous devez créer une base de données et créer des tables de données associées pour stocker les informations sur les utilisateurs et les rôles. Voici un exemple simple :

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`)
);
Copier après la connexion

Étape 3 : Configurer la connexion à la base de données
Dans le framework CodeIgniter, vous devez configurer les informations de connexion à la base de données. Dans le fichier application/config/database.php, modifiez le contenu suivant : application/config/database.php文件中,修改以下内容:

$db['default'] = array(
    ...
    'hostname' => 'localhost',
    'username' => 'your_username',
    'password' => 'your_password',
    'database' => 'your_database',
    ...
);
Copier après la connexion

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();
    }
}
Copier après la connexion

Role_model.php

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

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

Auth.php

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

    public function logout() {
        // 处理用户注销
    }
}
Copier après la connexion

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);
    }
}
Copier après la connexion

步骤六:创建视图
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>
Copier après la connexion

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>
Copier après la connexion

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

$route['default_controller'] = 'auth/login';
Copier après la connexion

这将设置Auth控制器的loginrrreee

Remplacez votre_nom d'utilisateur, votre_mot de passe et votre_database Remplacez code> par les informations de connexion à votre base de données. <p><br>Étape 4 : Créer le modèle</p>Dans le framework CodeIgniter, le modèle est utilisé pour traiter les données. Dans le répertoire <code>application/models, créez deux fichiers : User_model.php et Role_model.php, et écrivez le contenu suivant :


User_model.php

rrreee🎜Role_model.php:🎜rrreee🎜Étape 5 : Créer un contrôleur🎜Dans le répertoire application/controllers, créez Auth.php et Admin.php deux fichiers, et écrivez le contenu suivant : 🎜🎜Auth.php : 🎜rrreee🎜Admin.php :🎜rrreee🎜Étape 6 : Créer des vues🎜Dans le répertoire <code>application/views, créez login_form.php et dashboard.php fichier et écrivez le contenu suivant : 🎜🎜login_form.php : 🎜rrreee🎜dashboard.php : 🎜rrreee🎜Étape 7 : Configurer le routage 🎜Dans application/ Dans Dans le fichier config/routes.php, configurez la route par défaut : 🎜rrreee🎜Cela définira la méthode login du contrôleur Auth comme méthode de contrôleur par défaut. 🎜🎜Étape 8 : Test🎜Utilisez un navigateur pour accéder à votre application Web et essayez de vous connecter. Si la connexion réussit, vous serez redirigé vers la page du tableau de bord avec les informations de votre rôle d'utilisateur affichées. 🎜🎜Résumé : 🎜Cet article présente les étapes de mise en œuvre de l'autorisation des utilisateurs et de la gestion des rôles à l'aide du framework CodeIgniter. En créant des bases de données et des tables de données, en configurant les connexions aux bases de données, en créant des modèles, en créant des contrôleurs et en créant des vues, nous pouvons implémenter les fonctions de connexion, de déconnexion et d'affichage des rôles des utilisateurs. Après avoir appris les étapes ci-dessus, vous pouvez développer et optimiser davantage les fonctions d'autorisation des utilisateurs et de gestion des rôles en fonction de besoins spécifiques. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal