# Edelberto - LDAP XXX
from portal.models import PendingUser
from django.contrib.auth.models import User #Pedro
-from portal.actions import create_pending_user, create_user
+from portal.actions import create_pending_user, create_user, create_user_in_ldap, clear_user_creds
from registrationview import RegistrationView
from random import randint
from hashlib import md5
## first you must open a connection to the server
try:
# Connect to NOC
- l = ldap.initialize("ldap://200.130.15.186:389")
+ l = ldap.initialize("ldap://10.128.0.50:389")
# Bind/authenticate with a root user to search all objects
l.simple_bind_s("cn=Manager,dc=br,dc=fibre","fibre2013")
searchFilter = "uid=" + username
print searchFilter
+ in_ldap = 0
+
try:
+ if username != "admin":
ldap_result_id = l.search(baseDN, searchScope, searchFilter, retrieveAttributes)
result_set = []
result_type, result_data = l.result(ldap_result_id, 0)
print cn
sn = result_set[0][0][1]['sn'][0]
print sn
- authority_hrn = 'fibre' + '.' + username.split('@')[1]
+ fname = sn.split(' ')[0]
+ lname = sn.split(' ')[1]
+ print fname
+ print lname
+
+ #authority_hrn = 'fibre' + '.' + username.split('@')[1]
+ authority_hrn = 'fibre'
print authority_hrn
email = ldap_mail
print ldap_mail
print username
password = password
print password
- user_hrn = 'fibre' + '.' + username.split('@')[1] + '.' + username
+ # user_hrn = 'fibre' + '.' + username.split('@')[1] + '.' + username
+ user_hrn = 'fibre' + '.' + username
print user_hrn
# Based on registrationview
print email_hash
user_request = {
- #'first_name' : cn,
- 'first_name' : sn,
- 'last_name' : '',
- #'organization' : username.split('@')[1],
+ 'first_name' : fname,
+ 'last_name' : lname,
'organization' : authority_hrn,
'authority_hrn' : authority_hrn,
'email' : ldap_mail,
'email_hash' : email_hash,
'pi' : '',
'user_hrn' : user_hrn,
+ 'reasons' : 'already exists in the LDAP',
'type' : 'user',
'validation_link': 'https://' + current_site + '/portal/email_activation/'+ email_hash
}
# XXX Verify if errors exist - After!
#if not errors:
- create_pending_user(request, user_request, user_detail)
-
- create_user(request, user_request)
-
- env['state'] = "User LDAP associated. Authenticate again."
- return render_to_response(self.template, env, context_instance=RequestContext(request))
+ create_user_in_ldap(request, user_request, user_detail)
+ #create_pending_user(request, user_request, user_detail)
+ #create_user(request, user_request)
+
+ env['state'] = "LDAP associated. Please, login again."
+ return render_to_response(self.template, env, context_instance=RequestContext(request))
+
else:
env['state'] = "Access denied. Verify LDAP userEnable and password."
print e
#else:
- if in_ldap and enabled and pwd:
+ if in_ldap and enabled and pwd or username=="admin":
################################################################################
### XXX Edelberto LDAP auth end XXX