It is not clear from your message if this script works and you provide
it as an example or if not.

Massimo

On Sep 7, 9:26 am, max <[email protected]> wrote:
> Hi Everybody,
> I wrote another script to access our ms active directory,
> If someone have idea t osolve the long overdue problem would be
> thankful.
>
> import ldap
>
> def main():
>   server = "ad.mydmoan.com"
>   who = "user"
>   cred = "password"
>   keyword = "[email protected]"
>   base_dn = "ou=users,ou=kjc,ou=institute,dc=ad,dc=mydomain,dc=com"
>   mode='ad'
>   secure='secure'
>   try:
>     l = ldap.open(server)
>     l.simple_bind_s(who, cred)
>     l.protocol_version = 3
>     l.set_option(ldap.OPT_REFERRALS, 0)
>     print "Successfully bound to server.\n"
>     print "Searching..\n"
>     my_search(l, keyword)
>     #ldap_auth_aux
> (who,cred,ldap_server=server,ldap_mode=mode,ldap_port=636,ldap_basedn=base_dn)
>   except ldap.LDAPError, error_message:
>     print "Couldn't Connect. %s " % error_message
>
> def my_search(l, keyword):
>   base_dn = "ou=users,ou=kjc,ou=institute,dc=ad,dc=domain,dc=com"
>   scope = ldap.SCOPE_SUBTREE
>   filter = "(&(objectClass=user)(mail="+ keyword+"))"
>   retrieve_attributes = None
>   count = 0
>   result_set = []
>   result_data=[]
>   timeout = 0
>   try:
>     result_id = l.search(base, scope, filter, retrieve_attributes)
>     while 1:
>       result_type, result_data = l.result(result_id, timeout)
>       if (result_data == []):
>         break
>       else:
>         if result_type == ldap.RES_SEARCH_ENTRY:
>           result_set.append(result_data)
>       if len(result_set) == 0:
>         print "No Results."
>         return
>       #print result_set
>       for i in range(len(result_set)):
>         #print i
>         for entry in result_set[i]:
>             try:
>                 #print  entry
>                 print entry[1]['mail'][0]
>                 #print entry[1]['unicodePwd'][0]
>                 print entry[1]['sAMAccountName'][0]
>                 #print entry[1]['memberOf']
>                 #print entry[1]['proxyAddresses'][0]
>                 print entry[1]['uidNumber'][0]
>
>                 count = count + 1
>             except:
>                 pass
>   except ldap.LDAPError, error_message:
>     print error_message
>
> if __name__=='__main__':
>  main()
>
> On 5 Sep., 16:36, max <[email protected]> wrote:
>
> > After lots of tests and research of ldap_auth , I have some questions
>
> > 1. Does the mode="ad"  identify the Active directory in ldap_ath_aux?
> > 2. In my active directory server to  use "search_ext_s" i need a
> > administrator account,
> >  What i think is general to all ad servers.
> > How can i define it in ldap_auth_aux
> > 3. And in a search result element i don't get the hash_value for the
> > password after successful bind .
> > Then the question is how web2py auth can authenticate when it doesn't
> > get the password from the ad?
>
> > thanks for any idea!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to