Bonjour à tou-s-tes,

J'utilise ObAuth comme 'components' pour une authentification simple
dans mon application.
Mon problème est le suivant, lorsque je me loggue, mes informations
sont corrects, mais au lieu d'être autorisé à aller sur la page, je
suis automatiquement redirigé vers ma page login.
Lorsque je désactive l'appel à la fonction lock() dans mon controller,
je ne suis pas redirigé et j'atterris bien sur la bonne page, mais ca
ne me sert à rien d'utiliser obAuth dans ce cas-là. Il me semble que
c'est lié aux sessions. Je m'explique. Lorsque je suis loggué
correctement, dans mon layout j'affiche le nom de la personne loggué
en fonction des variables de session. Pourtant si je rafraichis, ou
vais sur une autre page... Le nom "disparait"... enfin c'est pas de la
magie.
D'après ce que je comprends, le processus est le suivant :
--- login
1. verifie les données d'identification => [ok]
2. [ok]: créé une session avec le nom de la chaine $sesskey et
redirige vers la bonne page (/home)
--- home
3. vérifie si le groupe auquelle appartiens la personne loggué est
bien autorisé à consulter cette page => [false]
4. [false]: redirige l'utilisateur vers la page d'identifiactaion (/
login)

Quelque-soit l'utilisateur que j'utilise je suis toujours redirigé
vers la page login.

Voici une partie du code:

------------------------- ob_auth.php ------------------------- //ma
config de obAuth
var $user_model = "User";
var $group_model = "Group";
var $user_fields = array('id' => 'id', 'username' => 'username',
'password' => 'password', 'group_id' => 'group_id');
var $group_fields = array('id' => 'id', 'name' => 'name');
var $components = array('Session');
var $login_page = '/'; // login action
var $logout_page = '/'; // Page to redirect to when user logs out
var $deny_page = 'users/deny'; // Page to redirect if you deny access
but don't want take user to login page
var $sesskey = "sIgNmaN4g3m3NtSYst3m";
------------------------- end ob_auth.php -------------------------

------------------------- users.php ------------------------- //mes
actions du controller users
function login(){
$this->layout = 'login';
if(isset($this->data['User'])) {
        if($this->obAuth->login($this->data['User']))
        {
                $this->redirect('/home');
        }
        else
        {
                $this->Session->setFlash("Username/Password is incorrect");
        }
}
}

//index for all the users
function home() {
$this->obAuth->lock();
$this->set('user', $this->Session->read($this->obAuth->sesskey)); //je
ne suis pas sur de cette ligne. Elle me permet de réccupérer dans le
view le nom de la personne connectée.
}
------------------------- end users.php -------------------------

Si quelqu'un a une idée pour me permettre d'avancer, merci d'avance.
J'envisage peut-être d'utiliser un autre système de gestion
d'utilisateur comme othAuth mais je préfèrerai trouver une solution
pour celui-là étant que pour l'instant je n'ai pas besoin de plus.

Merci à tou-s-tes pour avoir lu ce message et peut-être envisager d'y
répondre.

A+ Tchao
--~--~---------~--~----~------------~-------~--~----~

Groupe "Cakephp-fr".
Adresse : [email protected]
Pour résilier  : [EMAIL PROTECTED]
Pour les options : http://groups.google.com/group/cakephp-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à