def ldap_connect(): import ldap from frappe_ldap.templates.pages.ldap_login import get_details from frappe_ldap.ldap.doctype.ldap_settings.ldap_settings import set_ldap_connection server_details = get_details() connect, user_dn, base_dn = set_ldap_connection(server_details) filters = "uid=*" new_created = [] enabled_profiles = [] try: #if authentication successful, get the full user data connect.simple_bind_s(user_dn, server_details.get('pwd')) except: connect.unbind_s() #search for profiels result = connect.search_s(base_dn, 2, filters) for dn, r in result: if r.get('mail'): password = random_string(10) role = r.get('description') if r.get('description') else 'Default' check_profile( r.get('mail')[0], r.get('uid')[0], password, role, new_created) enabled_profiles.append(r.get('mail')[0]) disable_profiles(enabled_profiles) admin_notification(new_created)
def ldap_connect(): import ldap from frappe_ldap.templates.pages.ldap_login import get_details from frappe_ldap.ldap.doctype.ldap_settings.ldap_settings import set_ldap_connection server_details = get_details() connect, user_dn, base_dn = set_ldap_connection(server_details) filters = server_details.get('ldap_uidmapping')+"=*" # filters = "uid=*" new_created = [] enabled_profiles = [] try: #if authentication successful, get the full user data connect.simple_bind_s(user_dn, server_details.get('pwd')) except : connect.unbind_s() #search for users result = connect.search_s(base_dn, 2,filters) for dn, r in result: if r.get('mail'): password = random_string(10) role = r.get('description') if r.get('description') else 'Default' check_profile(r.get('mail')[0], r.get('uid')[0], password, role, new_created) enabled_profiles.append(r.get('mail')[0]) disable_profiles(enabled_profiles) admin_notification(new_created)
def ldap_auth(user, pwd, server_details): from frappe_ldap.ldap.doctype.ldap_settings.ldap_settings import set_ldap_connection import ldap status = True mail = None user_id = None dn = None connect, user_dn, base_dn = set_ldap_connection(server_details) filters = "uid=*" + user + "*" try: connect.simple_bind_s(user_dn, server_details.get('pwd')) result = connect.search_s(base_dn, ldap.SCOPE_SUBTREE, filters) for dn, r in result: dn = str(dn) mail = str(r['mail'][0]) user_id = str(r['uid'][0]) role = str(r['description'][0]) if dn: connect.simple_bind_s(dn, pwd) status = True else: self.fail("Not a valid LDAP user") except ldap.LDAPError, e: connect.unbind_s() status = False
def ldap_auth(user, pwd, server_details): from frappe_ldap.ldap.doctype.ldap_settings.ldap_settings import set_ldap_connection import ldap status = True mail = None user_id = None dn = None connect, user_dn, base_dn = set_ldap_connection(server_details) filters = "uid=*"+user+"*" try: connect.simple_bind_s(user_dn, server_details.get('pwd')) result = connect.search_s(base_dn, ldap.SCOPE_SUBTREE, filters) for dn, r in result: dn = str(dn) mail = str(r['mail'][0]) user_id = str(r['uid'][0]) role = str(r['description'][0]) if dn: connect.simple_bind_s(dn,pwd) status = True else: self.fail("Not a valid LDAP user") except ldap.LDAPError, e: connect.unbind_s() status = False
def ldap_auth(user, pwd, server_details): from frappe_ldap.ldap.doctype.ldap_settings.ldap_settings import set_ldap_connection import ldap status = True mail = None user_id = None dn = None conn, user_dn, base_dn = set_ldap_connection(server_details) filters = "uid=*"+user+"*" role = 'Default' try: # l = ldap.initialize('ldap://ldap.forumsys.com/') conn.simple_bind_s(user_dn, pwd) result = conn.search_s(base_dn, ldap.SCOPE_SUBTREE, filters) for dn, r in result: dn = str(dn) mail = str(r['mail'][0]) user_id = str(r['uid'][0]) role = r.get('description') if r.get('description') else 'Default' if dn: conn.simple_bind_s(dn,pwd) status = True else: frappe.msgprint("Not a valid LDAP user", raise_exception=1) except ldap.LDAPError, e: conn.unbind_s() status = False frappe.msgprint("Incorrect UserId or Password", raise_exception=1)
def ldap_auth(user, pwd, server_details): from frappe_ldap.ldap.doctype.ldap_settings.ldap_settings import set_ldap_connection import ldap status = True mail = None user_id = None dn = None conn, user_dn, base_dn = set_ldap_connection(server_details) filters = "uid=*" + user + "*" role = 'Default' try: # l = ldap.initialize('ldap://ldap.forumsys.com/') conn.simple_bind_s(user_dn, pwd) result = conn.search_s(base_dn, ldap.SCOPE_SUBTREE, filters) for dn, r in result: dn = str(dn) mail = str(r['mail'][0]) user_id = str(r['uid'][0]) role = r.get('description') if r.get('description') else 'Default' if dn: conn.simple_bind_s(dn, pwd) status = True else: frappe.msgprint("Not a valid LDAP user", raise_exception=1) except ldap.LDAPError, e: conn.unbind_s() status = False frappe.msgprint("Incorrect UserId or Password", raise_exception=1)
def ldap_connect(): from frappe_ldap.templates.pages.ldap_login import get_details from frappe_ldap.ldap.doctype.ldap_settings.ldap_settings import set_ldap_connection server_details = get_details() connect, user_dn, base_dn = set_ldap_connection(server_details) filters = "uid=*" new_created = [] enabled_profiles = [] try: #if authentication successful, get the full user data connect.simple_bind_s(user_dn, server_details.get('pwd')) except ldap.LDAPError, e: connect.unbind_s()