Maison > cadre php > PensezPHP > le corps du texte

Comment thinkphp définit la vérification de session sur chaque page

PHPz
Libérer: 2023-04-11 15:13:04
original
943 Les gens l'ont consulté

Avec le développement rapide d'Internet, les développeurs explorent constamment de nouvelles technologies et de nouveaux frameworks. L'un des frameworks les plus populaires est thinkphp. thinkphp est un framework PHP efficace, rapide et performant qui peut considérablement améliorer l'efficacité pendant le processus de développement et qui présente également une bonne évolutivité et une bonne ouverture. Dans le framework thinkphp, la session est un élément indispensable, notamment dans la vérification de la connexion des utilisateurs et l'authentification de l'identité. Cet article explique comment configurer la vérification de session sur chaque page.

1. Utilisation de la session dans le framework thinkphp

La session est une technologie utilisée pour stocker les informations temporaires des utilisateurs sur le site Web. Dans le framework thinkphp, l'utilisation de session est très simple. Il vous suffit d'exécuter le code suivant :

session_start(); //开启session
$_SESSION['key'] = 'value'; //设置session变量
Copier après la connexion

Bien entendu, vous pouvez également utiliser la classe session fournie dans le framework thinkphp pour fonctionner. Le code spécifique est le suivant :

use think\facade\Session;
Session::set('key', 'value');
Copier après la connexion
.

2. Vérifiez automatiquement si la session est Existence

Afin d'assurer la sécurité du système, nous devons vérifier si l'utilisateur s'est connecté. Dans le framework thinkphp, vous pouvez utiliser le mécanisme middleware pour effectuer une vérification de session sur chaque page afin d'obtenir une vérification automatique. Le code spécifique est le suivant :

namespace app\http\middleware;

use Closure;
use think\facade\Session;
use think\exception\HttpException;

class CheckLogin
{
    public function handle($request, Closure $next)
    {
        if (!Session::has('user_id')) {
            throw new HttpException(401, '请先登录');
        }

        return $next($request);
    }
}
Copier après la connexion

Dans le code ci-dessus, l'espace de noms est d'abord utilisé pour définir l'emplacement où le middleware d'application personnalisé est utilisé, c'est-à-dire dans le répertoire « apphttpmiddleware ». Dans la méthode handle(), déterminez d’abord si l’utilisateur est connecté en déterminant si la variable user_id existe dans la session. S'il n'y a pas de connexion, une exception HTTP sera levée pour inviter l'utilisateur à se connecter.

3. Utilisez le middleware dans le contrôleur

Dans le framework thinkphp, vous pouvez ajouter les vérifications correspondantes en appelant le middleware dans le constructeur du contrôleur pour vérifier si l'utilisateur est connecté normalement. Le code spécifique est le suivant :

namespace app\controller;

use app\http\middleware\CheckLogin;
use think\Controller;

class Index extends Controller
{
    protected $middleware = [
        CheckLogin::class,
    ];

    //index方法省略
}
Copier après la connexion

Dans le code ci-dessus, l'espace de noms est utilisé pour la définition. La classe Controller hérite de la classe parent dans le framework think et définit un middleware CheckLogin, ce qui signifie que le middleware CheckLogin est introduit dans le Controller. , Implémentez ainsi la vérification de l'identité de connexion de l'utilisateur.

Cet article présente principalement l'utilisation de session dans le framework thinkphp pour vérifier si l'utilisateur est connecté et comment utiliser le mécanisme middleware pour réaliser une vérification automatique de chaque page. Si vous souhaitez maîtriser l'application de la séance avec compétence, vous avez encore besoin d'un long processus de pratique et d'apprentissage. J'espère que cet article pourra fournir aux lecteurs une aide et des références dans leur étude et leur pratique.

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!

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