Can you show an example of how to use it. I see it is not an action.

On Wednesday, 20 February 2013 08:00:50 UTC-6, yashar wrote:
>
>
> this is what i added in tools.py inside auth class, this is just 
> modification of login() function and difference from main login_bare is 
> this one also check, creates and logs in users which authenticated with 
> other authentication methods.
>
>
>     def ajax_login_bare(self, username, password):
>         """
>         check user login and
>         return tuple of (boolean,msg) which first field is successfull 
> login or not
>         and second is failure massage 
>         """
>
>         request = current.request
>         session = current.session
>         table_user = self.settings.table_user
>         if self.settings.login_userfield:
>             userfield = self.settings.login_userfield
>         elif 'username' in table_user.fields:
>             userfield = 'username'
>         else:
>             userfield = 'email'
>         passfield = self.settings.password_field
>         key = 
> {userfield:request.vars[userfield],passfield:request.vars[passfield]}
>         user = self.db(table_user[userfield] == 
> request.vars[userfield]).select().first()
>         if user:
>             # user in db, check if registration pending or disabled
>             temp_user = user
>             if temp_user.registration_key == 'pending':
>                 return (False,self.messages.registration_pending)
>             elif temp_user.registration_key in ('disabled', 'blocked'):
>                 return (False,self.messages.login_disabled)
>             elif not temp_user.registration_key is None and 
> temp_user.registration_key.strip():
>                 return (False,self.messages.registration_verifying)
>         # try alternate logins 1st as these have the
>         # current version of the password
>             user = None
>             for login_method in self.settings.login_methods:
>                 if login_method != self and 
> login_method(request.vars[userfield],request.vars[passfield]):
>                     if not self in self.settings.login_methods:
>                         # do not store password in db
>                         request.vars[passfield] = None
>                     user = self.get_or_create_user(key)
>                     break
>             if not user:
>                 # alternates have failed, maybe because service 
> inaccessible
>                 if self.settings.login_methods[0] == self:
>                     # try logging in locally using cached credentials
>                     if request.vars.get(passfield, '') == 
> temp_user[passfield]:
>                         # success
>                         user = temp_user
>         else:
>             # user not in db
>             if not self.settings.alternate_requires_registration:
>                 # we're allowed to auto-register users from external 
> systems
>                 for login_method in self.settings.login_methods:
>                     if login_method != self and 
> login_method(request.vars[userfield],request.vars[passfield]):
>                         if not self in self.settings.login_methods:
>                             # do not store password in db
>                             key[passfield] = None
>                         user = self.get_or_create_user(key)
>                         break
>         if not user:
>             
> self.log_event(self.messages.login_failed_log,request.post_vars)
>             return (False,self.messages.invalid_login)
>         else:
>             user = Row(table_user._filter_fields(user, id=True))
>             # process authenticated users
>             # user wants to be logged in for longer
>             self.login_user(user)
>             session.auth.expiration = \
>                 request.vars.get('remember', False) and \
>                 self.settings.long_expiration or \
>                 self.settings.expiration
>             session.auth.remember = 'remember' in request.vars
>             self.log_event(self.messages.login_log, user)
>             return (True,self.messages.logged_in)
>
>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to