Mercurial > kallithea
changeset 1690:6944b1249f28 beta
fixed issues with not unique emails when using ldap or container auth.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 16 Nov 2011 21:31:14 +0200 |
parents | cc302c98bb8e |
children | 0b8cf2e82bd4 |
files | rhodecode/lib/auth_ldap.py rhodecode/model/user.py |
diffstat | 2 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/lib/auth_ldap.py Wed Nov 16 21:25:41 2011 +0200 +++ b/rhodecode/lib/auth_ldap.py Wed Nov 16 21:31:14 2011 +0200 @@ -43,8 +43,7 @@ def __init__(self, server, base_dn, port=389, bind_dn='', bind_pass='', tls_kind='PLAIN', tls_reqcert='DEMAND', ldap_version=3, ldap_filter='(&(objectClass=user)(!(objectClass=computer)))', - search_scope='SUBTREE', - attr_login='uid'): + search_scope = 'SUBTREE', attr_login = 'uid'): self.ldap_version = ldap_version ldap_server_type = 'ldap' @@ -60,7 +59,7 @@ self.LDAP_SERVER_ADDRESS = server self.LDAP_SERVER_PORT = port - #USE FOR READ ONLY BIND TO LDAP SERVER + # USE FOR READ ONLY BIND TO LDAP SERVER self.LDAP_BIND_DN = bind_dn self.LDAP_BIND_PASS = bind_pass
--- a/rhodecode/model/user.py Wed Nov 16 21:25:41 2011 +0200 +++ b/rhodecode/model/user.py Wed Nov 16 21:31:14 2011 +0200 @@ -149,6 +149,10 @@ :param attrs: """ if self.get_by_username(username, case_insensitive=True) is None: + + # autogenerate email for container account without one + generate_email = lambda usr: '%s@container_auth.account' % usr + try: new_user = User() new_user.username = username @@ -156,7 +160,7 @@ new_user.api_key = generate_api_key(username) new_user.email = attrs['email'] new_user.active = attrs.get('active', True) - new_user.name = attrs['name'] + new_user.name = attrs['name'] or generate_email(username) new_user.lastname = attrs['lastname'] self.sa.add(new_user)