Im en utilisant FriendlyFormPlugin, mais je voudrais récupérer le nom d'utilisateur qui a été entré dans le cadre de request.params, mais il n'est plus là quand je vérifie. De cette façon, je peux définir la valeur par défaut pour le nom d'utilisateur si le mot de passe est incorrect. merciGère incorrect user/mot de passe repoze.who gracieusement dans Python/Pylons
Répondre
Je pense que ce que vous devez faire est de configurer une action gestionnaire de connexion après la connexion lorsque vous installez le middleware. Dans cette action, vous pouvez ensuite vérifier les paramètres, définir une session var, etc. J'ai dû me connecter ici pour créer un message à l'utilisateur que leur connexion a échoué. Je vérifie un paramètre 'login_failed' sur le formulaire de connexion.
def post_login(self):
""" Handle logic post a user's login
I want to create a login_handler that's redirected to after login. This would
check
- if user was logged in, if not then send back to login
- if user is admin, go to job list
- adjust the max age on the existing cookie to XX remember me timeframe
"""
if auth.check(not_anonymous()):
log.debug('checked auth')
else:
# login failed, redirect back to login
log.debug('failed auth')
redirect_to(controller="root", action="login", login_failed=True)
# expire this cookie into the future
ck = request.cookies['authtkt']
response.set_cookie('authtkt', ck,
max_age=60*60*24*7,
path='/'
)
redirect_to(controller="job", action="list")
En réponse pour plus de détails, trop gros pour ajouter un autre commentaire:
J'ai quelques choses que vous pouvez regarder. Tout d'abord, ceci est mon docs j'écris comme repoze « résumé » pour expliquer à d'autres développeurs comment ce genre de choses fonctionne/terminologie employée:
http://72.14.191.199/docs/morpylons/auth_overview.html
j'ai commencé à l'aide du plugin repoze sql QuickStart: J'ai alors arraché leur setup_sql_auth et l'ai modifié pour nos propres besoins puisque nous faisons l'authentification SQL et LDAP dans nos applications. Allez vous assurer de regarder la source du plugin pour setup_sql_auth et passez-le jusqu'à ce que vous compreniez vraiment ce qu'il fait.
et puisque vous avez demandé sur config middleware ...
app = setup_morpace_auth(app, User, Group, Permission, meta.Session,
post_login_url='/root/post_login',
post_logout_url='/login',
log_level='debug',
log_file='stdout'
)
u peut montrer comment gérer en middleware.py en python? im nouveau – Timmy
Ok, mis à jour la réponse pour inclure plus de notes/détails sur la mise en place. – Rick
merci, va faire! – Timmy