def handle_request(self, request, *args, **kwargs): """Recebe a requisição e redireciona para o método apropriado. Antes de redirecionar para o método, é feita a autenticação do usuário. """ response = None try: username, password, user_ldap = self.read_user_data(request) #self.log.debug(u'Usuário da requisição: %s.' % username) if user_ldap is None: user = authenticate(username, password) else: user = authenticate(username, password, user_ldap) if (user is None): response = self.not_authenticated() else: if request.method == 'GET': response = self.handle_get(request, user, args, **kwargs) elif request.method == 'POST': response = self.handle_post(request, user, args, **kwargs) elif request.method == 'DELETE': response = self.handle_delete( request, user, args, **kwargs) elif request.method == 'PUT': response = self.handle_put(request, user, args, **kwargs) except (LockNotAcquiredError, OperationalError), e: self.log.error(u'Lock wait timeout exceeded.') return self.response_error(273)
def authenticate_user(self, request): user = None username, password, user_ldap = self.read_user_data(request) if user_ldap is None: user = authenticate(username, password) else: user = authenticate(username, password, user_ldap) if user is None: credentials = BasicAuthentication().authenticate(request) user = credentials[0] if credentials is not None else None return user
def authenticate_credentials(self, userid, password): """ Authenticate the userid and password against username and password. """ user = authenticate(userid, password) if user is None or not user.ativo: raise exceptions.AuthenticationFailed('Invalid username/password') return (user, None)
def authenticate_user(self, request): if not request.user.is_anonymous(): return request.user user = None username, password, user_ldap = RestResource.read_user_data(request) if user_ldap is None: user = authenticate(username, password) else: user = authenticate(username, password, user_ldap) if user is None: credentials = BasicAuthentication().authenticate(request) user = credentials[0] if credentials is not None else None if user: request.user = user return user