Mercurial > kallithea
view rhodecode/templates/admin/ldap/ldap.html @ 991:b232a36cc51f issue-108
Improve LDAP authentication
* Adds an LDAP filter for locating the LDAP object
* Adds a search scope policy when using the Base DN
* Adds option required certificate policy when using LDAPS
* Adds attribute mapping for username, firstname, lastname, email
* Initializes rhodecode user using LDAP info (no longer uses "@ldap")
* Remembers the user object (DN) in the user table
* Updates admin interfaces
* Authenticates against actual user objects in LDAP
* Possibly other things.
Really, this should be extended to a list of LDAP configurations, but this is a good start.
author | Thayne Harbaugh <thayne@fusionio.com> |
---|---|
date | Thu, 03 Feb 2011 16:34:40 -0700 |
parents | 6b40654afa1e |
children | 74685a31cc43 |
line wrap: on
line source
## -*- coding: utf-8 -*- <%inherit file="/base/base.html"/> <%def name="title()"> ${_('LDAP administration')} - ${c.rhodecode_name} </%def> <%def name="breadcrumbs_links()"> ${h.link_to(_('Admin'),h.url('admin_home'))} » ${_('Ldap')} </%def> <%def name="page_nav()"> ${self.menu('admin')} </%def> <%def name="main()"> <div class="box"> <!-- box / title --> <div class="title"> ${self.breadcrumbs()} </div> ${h.form(url('ldap_settings'))} <div class="form"> <div class="fields"> <h3>${_('Connection settings')}</h3> <div class="field"> <div class="label label-checkbox"><label for="ldap_active">${_('Enable LDAP')}</label></div> <div class="checkboxes"><div class="checkbox">${h.checkbox('ldap_active',True,class_='small')}</div></div> </div> <div class="field"> <div class="label"><label for="ldap_host">${_('Host')}</label></div> <div class="input">${h.text('ldap_host',class_='small')}</div> </div> <div class="field"> <div class="label"><label for="ldap_port">${_('Port')}</label></div> <div class="input">${h.text('ldap_port',class_='small')}</div> </div> <div class="field"> <div class="label"><label for="ldap_dn_user">${_('Account')}</label></div> <div class="input">${h.text('ldap_dn_user',class_='small')}</div> </div> <div class="field"> <div class="label"><label for="ldap_dn_pass">${_('Password')}</label></div> <div class="input">${h.password('ldap_dn_pass',class_='small')}</div> </div> <div class="field"> <div class="label label-checkbox"><label for="ldap_ldaps">${_('Enable LDAPS')}</label></div> <div class="checkboxes"><div class="checkbox">${h.checkbox('ldap_ldaps',True,class_='small')}</div></div> </div> <div class="field"> <div class="label"><label for="ldap_tls_reqcert">${_('Certificate Checks')}</label></div> <div class="select">${h.select('ldap_tls_reqcert',c.tls_reqcert_cur,c.tls_reqcert_choices,class_='small')}</div> </div> <h3>${_('Search settings')}</h3> <div class="field"> <div class="label"><label for="ldap_base_dn">${_('Base DN')}</label></div> <div class="input">${h.text('ldap_base_dn',class_='small')}</div> </div> <div class="field"> <div class="label"><label for="ldap_filter">${_('LDAP Filter')}</label></div> <div class="input">${h.text('ldap_filter',class_='small')}</div> </div> <div class="field"> <div class="label"><label for="ldap_search_scope">${_('LDAP Search Scope')}</label></div> <div class="select">${h.select('ldap_search_scope',c.search_scope_cur,c.search_scope_choices,class_='small')}</div> </div> <h3>${_('Attribute mappings')}</h3> <div class="field"> <div class="label"><label for="ldap_attr_login">${_('Login Attribute')}</label></div> <div class="input">${h.text('ldap_attr_login',class_='small')}</div> </div> <div class="field"> <div class="label"><label for="ldap_attr_firstname">${_('First Name Attribute')}</label></div> <div class="input">${h.text('ldap_attr_firstname',class_='small')}</div> </div> <div class="field"> <div class="label"><label for="ldap_attr_lastname">${_('Last Name Attribute')}</label></div> <div class="input">${h.text('ldap_attr_lastname',class_='small')}</div> </div> <div class="field"> <div class="label"><label for="ldap_attr_email">${_('E-mail Attribute')}</label></div> <div class="input">${h.text('ldap_attr_email',class_='small')}</div> </div> <div class="buttons"> ${h.submit('save','Save',class_="ui-button")} </div> </div> </div> ${h.end_form()} </div> </%def>