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