mirror of
				https://github.com/ComputerScienceHouse/proxstar.git
				synced 2025-03-09 15:40:09 +00:00 
			
		
		
		
	Revert "Simple ldap cache"
This commit is contained in:
		
							parent
							
								
									d601efe560
								
							
						
					
					
						commit
						9caaf2bae0
					
				
					 2 changed files with 12 additions and 15 deletions
				
			
		| 
						 | 
				
			
			@ -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(
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue