j'ai travaillé deux approches avec l'authentification des utilisateurs dans CI
vous pouvez le faire sur une base par page, via le __construct()
fonction, vérifiant si l'utilisateur est connecté et les redirigeant en conséquence. Alternativement, vous pouvez étendre les contrôleurs de base de sorte que vous ayez (par exemple) un contrôleur régulier, pour les pages qui ne nécessitent pas d'authentification, un contrôleur "Public" qui vous oblige à être connecté, et un contrôleur "Admin" permet seulement certains types d'utilisateurs.
Je me réfère à nouveau à Phil Sturgeon pour cette - extending base controllers
je recommande aussi regarder certaines bibliothèques Auth - Ion Auth et Tank Auth sont généralement reconnus comme très bon - mais il y a beaucoup disponibles.
Votre fonction est également assez limitée - l'utilisateur ne peut jamais faire qu'une seule option (principale).
La meilleure approche est
<?php
class Foo extends Controller {
function __construct()
{
$is_logged_in = $this->session->userdata('is_logged_in');
if(!isset($is_logged_in)||$is_logged_in!= TRUE)
{
redirect('login');
}
}
// else, logged in..proceed
}
par exemple.
Il y a probablement un problème avec votre approche de codage. Vous devriez limiter l'accès à l'utilisateur qui est en fait connecté. Montrez-nous du code. –
J'ai fourni le code ci-dessous ... –