2010-11-16 29 views
4

J'ai un repoze.who/what qui fonctionne (sur une application Pylons). Je veux maintenant enregistrer automatiquement les nouveaux utilisateurs après l'inscription, sans qu'ils aient à utiliser le formulaire de connexion. J'ai parcouru le repoze.who docs et le code source et, peut-être que je suis juste manquant, mais je ne peux pas savoir comment définir l'utilisateur connecté du code, sans une nouvelle demande de poste en passant par le middleware. Est-ce possible?Comment enregistrer un utilisateur à l'aide de repoze.who?

Répondre

2

Je suis avec la même question toute la matinée et c'est ce que je trouve: Vous devez savoir que dès maintenant il y a deux versions de repoze.who (1 et 2):

En v 1.x:

rememberer = request.environ['repoze.who.plugins']['cookie'] 
identity = {'repoze.who.userid': user.username} 
response.headerlist = response.headerlist + \ 
     rememberer.remember(request.environ, identity) 

2.x v (il est plus facile parce qu'il fournit et api):

from repoze.who.api import get_api 

who_api = get_api(request.environ) 
creds = {} 
creds['login'] = yourusername 
creds['password'] = yourpassword 
authenticated, headers = who_api.login(creds) 

Ressources: Pour v1: http://www.deanlee.cn/programming/repoze-who-perform-login-programmatically/ Pour v2: http://docs.repoze.org/who/2.0/api.html