mirror of
https://github.com/ComputerScienceHouse/proxstar.git
synced 2025-02-12 21:11:53 +00:00
40 lines
983 B
Python
40 lines
983 B
Python
from csh_ldap import CSHLDAP
|
|
from flask import current_app as app
|
|
|
|
from proxstar import logging
|
|
|
|
|
|
def connect_ldap():
|
|
try:
|
|
ldap = CSHLDAP(app.config['LDAP_BIND_DN'], app.config['LDAP_BIND_PW'])
|
|
except Exception as e:
|
|
logging.error('unable to connect to LDAP: %s', e)
|
|
raise
|
|
return ldap
|
|
|
|
|
|
def is_rtp(user):
|
|
ldap = connect_ldap()
|
|
rtp_group = ldap.get_group('rtp')
|
|
return rtp_group.check_member(ldap.get_member(user, uid=True))
|
|
|
|
|
|
def is_active(user):
|
|
ldap = connect_ldap()
|
|
active_group = ldap.get_group('active')
|
|
return active_group.check_member(ldap.get_member(user, uid=True))
|
|
|
|
|
|
def is_current_student(user):
|
|
ldap = connect_ldap()
|
|
current_student_group = ldap.get_group('current_student')
|
|
return current_student_group.check_member(ldap.get_member(user, uid=True))
|
|
|
|
|
|
def is_user(user):
|
|
ldap = connect_ldap()
|
|
try:
|
|
ldap.get_member(user, uid=True)
|
|
return True
|
|
except:
|
|
return False
|