FW: [Zope3-Users] Generating loginForm with formlib
Florian Lindner
mailinglists at xgm.de
Thu Apr 20 13:12:51 EDT 2006
Am Donnerstag, 20. April 2006 15:49 schrieb Pete Taylor:
> > -----Original Message-----
> > From: zope3-users-bounces at zope.org [mailto:zope3-users-bounces at zope.org]
> > On Behalf Of Florian Lindner
> > Sent: Thursday, April 20, 2006 9:39 AM
> > To: zope3-users at zope.org
> > Subject: [Zope3-Users] Generating loginForm with formlib
> >
> > Hello,
> > I want to generate a login form for the PAU session credentials plugin.
> > The plugin expects a form that have a login and a password field.
> >
> > I've created a interface:
> >
> > class ILoginForm(Interface):
> > """For generating the login form."""
> >
> > login = TextLine(title=u"Username",
> > required=True)
> >
> > password = Password(title=u"Password",
> > required=True)
> >
> > but formlib generates the two fields with name="form.login" therefore the
> > session credentials plugin is able to extract the credentials.
> >
> > How can I use formlib to generate a login form?
> the simplest thing to do (or what i ended up doing) was creating a
> credentialsPlugin that provided similar functionality to the standard
> session credentials plugin, but where the standard session credentials
> plugin's extractCredentials method expects to pull 'login' and
> 'password' out of request.get(), you just pull
> request.get('form.login') or something similar. just return the
> credentials dict back out to the principal folder (or whatever
> authenticator you're using) authenticateCredentials method with a dict
> of the form {'login': credentials.getLogin(), 'password':
> credentials.getPassword() } where credentials is a SessionCredentials
> object created from your request.get('form.login') and
> request.get('form.password').
>
> look at zope.app.authentication.session's design pattern for more.
Mmhh,, I've also thought about that way. I think it's easier and better to
change the original session credentials plugin to make it selectable in which
fields it looks for the credentials and commit that change back to the
community.
I can do that (I'll ask on zope3-dev for any objections before I commit).
Regards,
Florian
More information about the Zope3-users
mailing list