2009-08-23 8 views
2

J'ai écrit mon propre modèle pour gérer l'authentification, mais je me demandais comment j'allais mettre en œuvre une fonction 'Remember Me'?CodeIgniter Auth System

Pour connecter un utilisateur J'ai simplement mis la userdata suivante: UserID (int), LoggedIn (bool)

Répondre

5

A 'Se souvenir de moi' est mis en œuvre via les cookies.

Votre cookie doit être de la forme « RememberMe = userid: [quelque chose confirmant l'authentification] »

Ainsi, la partie difficile est d'obtenir le «quelque chose confirmant l'authentification. Il est préférable de mise en œuvre comme:

sha256(salt + userid) 

Le « sel » est une série de caractères aléatoires générés contre l'utilisateur et stockés à côté, dans la base de données.

Ensuite, vous pouvez confirmer que lorsque celui-ci existe (vous avez les données pour calculer ce hachage vous-même sur le serveur, vous le faites) vous marquez l'utilisateur comme connecté.

Pour plus d'avantages de sécurité, vous Vous aimeriez aussi crypter ce composant du cookie, avec aes256, et décrypter avant d'essayer de vérifier le hachage.

+0

C'est à peu près ce que j'avais dans la tête, sans la partie «quelque chose qui confirme l'authentification». Merci de votre aide :) – amr

0

Chiffrez l'ID utilisateur et l'état connecté et stockez-les dans un cookie.