Add external LDAP configuration

This commit is contained in:
Johannes Zellner
2019-08-29 09:59:57 +02:00
parent 6a08e08d7c
commit 8c44e558a8
4 changed files with 155 additions and 1 deletions

View File

@@ -392,4 +392,73 @@
</div>
</div>
</div>
<div class="text-left" style="margin-top: 50px;">
<h3>External LDAP</h3>
</div>
<div class="card card-large">
<div class="row">
<div class="col-md-12">
<p>
This option allows to use an external LDAP or ActiveDirectory service for user management.
</p>
<div class="checkbox">
<label>
<input type="checkbox" ng-model="externalLdap.enabled">Enable external LDAP</input>
</label>
</div>
<div uib-collapse="!externalLdap.enabled">
<form name="externalLdapConfigForm" role="form" novalidate ng-submit="externalLdap.submit()" autocomplete="off">
<fieldset>
<p class="has-error text-center" ng-show="externalLdap.error.generic">{{ externalLdap.error.generic }}</p>
<!-- avoid browsers to attempt an autofill for bindDN/bindPassword -->
<input type="password" style="display: none;">
<div class="form-group" ng-class="{ 'has-error': externalLdap.error.url }">
<label class="control-label" for="inputExternalLdapConfigUrl">Endpoint Url</label>
<input type="text" class="form-control" ng-model="externalLdap.url" id="inputExternalLdapConfigUrl" name="url" ng-disabled="externalLdap.busy" placeholder="ldaps://example.com:636" required>
</div>
<div class="form-group" ng-class="{ 'has-error': externalLdap.error.baseDn }">
<label class="control-label" for="inputExternalLdapConfigBaseDn">Base DN</label>
<input type="text" class="form-control" ng-model="externalLdap.baseDn" id="inputExternalLdapConfigBaseDn" name="baseDn" ng-disabled="externalLdap.busy" placeholder="ou=Users,dc=example,dc=com" required>
</div>
<div class="form-group" ng-class="{ 'has-error': externalLdap.error.filter }">
<label class="control-label" for="inputExternalLdapConfigFilter">Filter</label>
<input type="text" class="form-control" ng-model="externalLdap.filter" id="inputExternalLdapConfigFilter" name="filter" ng-disabled="externalLdap.busy" placeholder="(objectClass=inetOrgPerson)" required>
</div>
<div class="form-group" ng-class="{ 'has-error': externalLdap.error.credentials }">
<label class="control-label" for="inputExternalLdapConfigBindDn">Bind DN (optional)</label>
<input type="text" class="form-control" ng-model="externalLdap.bindDn" id="inputExternalLdapConfigBindDn" name="bindDn" ng-disabled="externalLdap.busy" placeholder="uid=admin,ou=Users,dc=example,dc=com">
</div>
<div class="form-group" ng-class="{ 'has-error': externalLdap.error.credentials }">
<label class="control-label" for="inputExternalLdapConfigBindPassword">Bind Password (optional)</label>
<input type="password" class="form-control" ng-model="externalLdap.bindPassword" id="inputExternalLdapConfigBindPassword" name="bindPassword" ng-disabled="externalLdap.busy" placeholder="">
</div>
<input class="ng-hide" type="submit" ng-disabled="externalLdapConfigForm.$invalid"/>
</fieldset>
</form>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<span class="text-success text-bold" ng-show="externalLdap.success">Saved</span>
</div>
<div class="col-md-6 text-right">
<button class="btn btn-outline btn-primary pull-right" ng-click="externalLdap.submit()" ng-disabled="externalLdapConfigForm.$invalid || externalLdap.busy"><i class="fa fa-circle-notch fa-spin" ng-show="externalLdap.busy"></i> Save</button>
</div>
</div>
</div>
</div>