def test_values(self): user = AnonymousUserMixin() self.assertFalse(user.is_active) self.assertFalse(user.is_authenticated) self.assertTrue(user.is_anonymous) self.assertIsNone(user.get_id())
def from_ip(cls, ip): result = sql_query("SELECT c.nutzer_id FROM computer as c " "LEFT JOIN nutzer as n " "ON c.nutzer_id = n.nutzer_id " "WHERE c_ip = %s " "AND (n.status < 8 OR n.status > 10) " "ORDER BY c.nutzer_id DESC", (ip,)).fetchone() if result is None: return AnonymousUserMixin() username = sql_query("SELECT unix_account FROM nutzer " "WHERE nutzer_id = %s", (result['nutzer_id'],)).fetchone()['unix_account'] user = cls.get(username) if not user: logger.warning("User %s could not be fetched from LDAP", username, extra={'data': { 'username': username, 'user_id': result['nutzer_id'], }}) return AnonymousUserMixin() return user
def user_from_ip(ip): dormitory = dormitory_from_ip(ip) if not dormitory: return AnonymousUserMixin() datasource = dormitory.datasource if datasource is None: return AnonymousUserMixin() return datasource.user_class.from_ip(ip)
def load_user(username): """Loads a User object from/into the session at every request """ if request.blueprint == "documents" or request.endpoint == "static": return AnonymousUserMixin() dormitory = dormitory_from_name(session.get('dormitory', None)) if dormitory: return dormitory.datasource.user_class.get(username) else: return AnonymousUserMixin()
def from_ip(cls, ip): userData = do_api_call('find?ip=' + ip) if userData is not None: return cls(userData['login'], userData['name'], 'passive') else: return AnonymousUserMixin()
def get(cls, username): """Static method for flask-login user_loader, used before _every_ request. """ if username in config: return cls(username) else: return AnonymousUserMixin()
def get(cls, username, **kwargs): """Static method for flask-login user_loader, used before _every_ request. """ user = LdapConnector.fetch_user(username) if user: return cls(user['uid'], user['name'], user['mail'], **kwargs) return AnonymousUserMixin()
def load_user(username): """Loads a User object from/into the session at every request """ dormitory = dormitory_from_name(session.get('dormitory', None)) if dormitory: return dormitory.datasource.user_class.get(username) else: return AnonymousUserMixin()
def verify_password(email, password): if email == '': g.current_user = AnonymousUserMixin() return True user = User.query.filter_by(email=email).first() if not user: return False g.current_user = user return user.verify_password(password)
def from_ip(cls, ip): """Return a user based on an ip. If there is no user associated with this ip, return AnonymousUserMixin. """ account_name = db.session.query(IP).filter_by(ip=ip).one().account if not account_name: return AnonymousUserMixin() return cls.get(account_name)
def from_ip(cls, ip): try: sql_nutzer = (db.session.query(Nutzer).join(Computer).filter_by( c_ip=ip).filter(Nutzer.status.in_(ACTIVE_STATUS)).one()) except NoResultFound: return AnonymousUserMixin() username = sql_nutzer.unix_account user = cls.get(username) if not user: logger.warning("User %s could not be fetched from LDAP", username, extra={ 'data': { 'username': username, 'user_id': sql_nutzer.nutzer_id, } }) return AnonymousUserMixin() return user
def login(): """ Log in view. """ if g.user is not None and g.user.is_authenticated: return redirect(url_for('home')) g.user = AnonymousUserMixin() form = SigninForm() if form.validate_on_submit(): user = UserController().get(email=form.email.data) login_user(user) g.user = user session['email'] = form.email.data identity_changed.send(current_app._get_current_object(), identity=Identity(user.id)) return form.redirect('home') return render_template('login.html', form=form)
def __init__(self): AnonymousUserMixin.__init__(self) self.locale = 'de' self.timezone = 'Europe/Berlin'
def user_loader(user_id): if user_id: return User.query.get(user_id) else: return AnonymousUserMixin()
def user_from_ip(ip): datasource = datasource_from_ip(ip) if datasource is not None: return datasource.user_class.from_ip(ip) else: return AnonymousUserMixin()