> -----Original Message-----
> Behalf Of Florian Lindner
> Sent: Thursday, April 20, 2006 9:39 AM
> To: zope3-users@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?
> Thanks,
> Florian
> _______________________________________________
> Zope3-users mailing list
> Zope3-users@zope.org
> http://mail.zope.org/mailman/listinfo/zope3-users

Hi Florian,
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

look at zope.app.authentication.session's design pattern for more.

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

Reply via email to