Rather than write a whole new method, one trick might be in the login 
controller function, check the incoming request.vars.username to see if it 
is an email address (using the IS_EMAIL validator). Then, depending on 
that, dynamically set auth.settings.login_userfield to either 'email' or 
'username', and then call auth.login() as usual.

Anthony

On Friday, December 9, 2011 9:50:02 AM UTC-5, Francisco Costa wrote:
>
> yes, i think I'm going to build a custom method for login with
> username or email
>
> On Dec 9, 2:13 pm, Anthony <[email protected]> wrote:
> > Are you saying you want users to be able to login with either their
> > username or their email address? For that, I think you might need a 
> custom
> > login method. On the other hand, if you simply want to allow users to 
> have
> > a username, but always login with email address, you should be able to 
> do:
> >
> > auth.settings.login_userfield = 'email'
> >
> > Anthony
> >
> >
> >
> >
> >
> >
> >
> > On Friday, December 9, 2011 7:22:57 AM UTC-5, Francisco Costa wrote:
> >
> > > lots of users on login form submit their email instead of the
> > > username..
> >
> > > it seems that auth.define_tables(username=True) forces username login
> > > but it is possible to have both?
>

Reply via email to