diff --git a/proxstar/__init__.py b/proxstar/__init__.py index 34b9cf0..a6c3ae6 100644 --- a/proxstar/__init__.py +++ b/proxstar/__init__.py @@ -44,7 +44,6 @@ from proxstar.vnc import ( ) from proxstar.auth import get_auth from proxstar.util import gen_password -from proxstar.ldapdb import connect_ldap from proxstar.starrs import check_hostname, renew_ip from proxstar.proxmox import connect_proxmox, get_isos, get_pools, get_ignored_pools @@ -83,7 +82,6 @@ engine = create_engine(app.config['SQLALCHEMY_DATABASE_URI']) Base.metadata.bind = engine DBSession = sessionmaker(bind=engine) db = DBSession() -ldap_conn = connect_ldap() starrs = psycopg2.connect( "dbname='{}' user='{}' host='{}' password='{}'".format( diff --git a/proxstar/ldapdb.py b/proxstar/ldapdb.py index a0135fa..c737310 100644 --- a/proxstar/ldapdb.py +++ b/proxstar/ldapdb.py @@ -1,8 +1,7 @@ -from functools import lru_cache from csh_ldap import CSHLDAP from flask import current_app as app -from proxstar import logging, ldap_conn +from proxstar import logging def connect_ldap(): @@ -14,28 +13,28 @@ def connect_ldap(): return ldap -@lru_cache(maxsize=32) def is_rtp(user): - rtp_group = ldap_conn.get_group('rtp') - return rtp_group.check_member(ldap_conn.get_member(user, uid=True)) + ldap = connect_ldap() + rtp_group = ldap.get_group('rtp') + return rtp_group.check_member(ldap.get_member(user, uid=True)) -@lru_cache(maxsize=32) def is_active(user): - active_group = ldap_conn.get_group('active') - return active_group.check_member(ldap_conn.get_member(user, uid=True)) + ldap = connect_ldap() + active_group = ldap.get_group('active') + return active_group.check_member(ldap.get_member(user, uid=True)) -@lru_cache(maxsize=32) def is_current_student(user): - current_student_group = ldap_conn.get_group('current_student') - return current_student_group.check_member(ldap_conn.get_member(user, uid=True)) + ldap = connect_ldap() + current_student_group = ldap.get_group('current_student') + return current_student_group.check_member(ldap.get_member(user, uid=True)) -@lru_cache(maxsize=32) def is_user(user): + ldap = connect_ldap() try: - ldap_conn.get_member(user, uid=True) + ldap.get_member(user, uid=True) return True except: return False