J'utilise la bibliothèque auth tank de codeigniter pour travailler avec les utilisateurs et cela a fonctionné très bien. Chaque fois que je tente d'accéder à un contrôleur, la fonction vérifie si l'utilisateur est connecté comme ceci: S'il est connectéCodeigniter tank auth - l'utilisateur est déconnecté pour une raison inconnue
if($this->tank_auth->is_logged_in()) {
, je charge le modèle, mais sinon, je fais un redirection vers la page de connexion. Cela a fonctionné comme ceci pendant un mois mais maintenant j'étends mon application et ai construit quelques autres contrôleurs qui emploient la même technique mais les dossiers sont situés dans l'autre dossier. L'application de travail précédente fonctionne toujours très bien mais dans cette application du nouveau dossier (c'est fondamentalement un nouveau module pour cette application, utilise la même page de connexion mais redirige différemment selon la sélection de l'utilisateur du module) je peux me connecter correctement, je peux faire un n'importe quelle demande au contrôleur sans problèmes mais à un certain moment, il me dit que l'utilisateur n'est pas connecté. Ce n'est pas la session expirée ou quelque chose, c'est comme si je fais une demande maintenant, prolongeant ma session et la suivante à 3 secondes L'intervalle permet à l'utilisateur de se déconnecter ... Je n'ai rien fait de différent avec mes nouveaux contrôleurs, mais après un certain temps, parfois ça prend 5 minutes, parfois 15 minutes, ça se déconnecte ... Je ne sais pas pourquoi, est quelque chose de déconner avec ma session? Je n'utilise pas de session pour autre chose ...
Quelqu'un sait de quoi il s'agit? Ou une suggestion? Je peux donner plus de détails si demandé.
Merci beaucoup.
EDIT: Le nouveau module consiste à plusieurs contrôleurs dans la même Codeigniter instalation, il fonctionne avec la même configuration de CI, même bibliothèque auth du réservoir et les fonctions sont copiés sur le contrôleur principal de demandes similaires:
class Requests extends Controller
{
function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url'));
$this->load->helper('date');
$this->load->library('form_validation');
$this->load->library('tank_auth');
}
..............
more functions
..............
function getServices() { /// One of the functions that the new module uses
if (!$this->tank_auth->is_logged_in()) {
return;
} else {
$this->load->model('requests/getServices');
$data['tid'] = $_POST['tid'];
$this->getServices->showData($data);
}
}
J'ai le même problème avec un ancien code sur lequel je travaille. Pouvez-vous détailler ce que vous avez fait? Avez-vous supprimé l'utilisation de $ _SESSION directement dans le code? – Strategist