def post(self): request = self.request _ = request.translate model_state = request.model_state model_state.schema = LoginSchema() if not model_state.validate(): return {} LoginName = model_state.value('LoginName') user = None with request.connmgr.get_connection() as conn: user = conn.execute('EXEC sp_User_LoginCheck ?', LoginName).fetchone() if not user: model_state.add_error_for('*', _('Invalid User Name or Password')) return {} if not check_credentials(user, model_state.value('LoginPwd')): model_state.add_error_for('*', _('Invalid User Name or Password')) return {} headers = remember(request, user.UserName) start_ln = [x.Culture for x in _culture_list if x.LangID == user.StartLanguage and x.Active] if not start_ln: start_ln = [default_culture()] return HTTPFound(location=(model_state.value('came_from') or request.route_url('communities', _ln=start_ln[0])), headers=headers)
def check_basic_auth(credentials, request): if not getattr(request, '_basic_auth_fetched_user', False): with request.connmgr.get_connection() as conn: request.user = conn.execute('EXEC sp_User_Login_s ?', credentials['login']).fetchone() request._basic_auth_fetched_user = True if not request.user: return None if not check_credentials(request.user, credentials['password']): return None if not hasattr(request, '_basic_auth_groups'): request._basic_auth_groups = groupfinder(credentials['login'], request) return request._basic_auth_groups
def post(self): request = self.request _ = request.translate model_state = request.model_state model_state.schema = LoginSchema() if not model_state.validate(): return {} LoginName = model_state.value('LoginName') user = None with request.connmgr.get_connection() as conn: user = conn.execute('EXEC sp_User_LoginCheck ?', LoginName).fetchone() if not user: model_state.add_error_for('*', _('Invalid User Name or Password')) return {} if not check_credentials(user, model_state.value('LoginPwd')): model_state.add_error_for('*', _('Invalid User Name or Password')) return {} headers = remember(request, user.UserName) start_ln = [ x.Culture for x in _culture_list if x.LangID == user.StartLanguage and x.Active ] if not start_ln: start_ln = [default_culture()] return HTTPFound( location=(model_state.value('came_from') or request.route_url('communities', _ln=start_ln[0])), headers=headers)