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
WBOYoriginal
2023-07-28 22:42:531660parcourir

É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`)
);

É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',
    ...
);

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

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!

Déclaration:
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