FW: [Zope3-Users] Generating loginForm with formlib

Pete Taylor baldtrol at gmail.com
Thu Apr 20 13:21:23 EDT 2006


good call...  i like that solution much better. ;)

On 4/20/06, Florian Lindner <mailinglists at xgm.de> wrote:
> 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
>


--
"All guilt is relative, loyalty counts, and never let your conscience
be your guide."
  - Lucas Buck, American Gothic


More information about the Zope3-users mailing list