changeset 2005:ab0e122b38a7

backported to stable #355 LDAP passwords stored
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 19 Feb 2012 20:21:14 +0200
parents 419ad27763ab
children 82a88013a3fd
files rhodecode/lib/auth.py
diffstat 1 files changed, 11 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/lib/auth.py	Thu Feb 16 04:56:33 2012 +0200
+++ b/rhodecode/lib/auth.py	Sun Feb 19 20:21:14 2012 +0200
@@ -76,8 +76,10 @@
     def __init__(self, passwd=''):
         self.passwd = passwd
 
-    def gen_password(self, len, type):
-        self.passwd = ''.join([random.choice(type) for _ in xrange(len)])
+    def gen_password(self, length, type_=None):
+        if type_ is None:
+            type_ = self.ALPHABETS_FULL
+        self.passwd = ''.join([random.choice(type_) for _ in xrange(length)])
         return self.passwd
 
 
@@ -211,9 +213,14 @@
                  'email': get_ldap_attr('ldap_attr_email'),
                 }
 
-                if user_model.create_ldap(username, password, user_dn,
+                # don't store LDAP password since we don't need it. Override
+                # with some random generated password
+                _password = PasswordGenerator().gen_password(length=8)
+                # create this user on the fly if it doesn't exist in rhodecode
+                # database
+                if user_model.create_ldap(username, _password, user_dn,
                                           user_attrs):
-                    log.info('created new ldap user %s', username)
+                    log.info('created new ldap user %s' % username)
 
                 return True
             except (LdapUsernameError, LdapPasswordError,):