From d699f14c4e13fa1fd99d0cf99c943e5f2ee42700 Mon Sep 17 00:00:00 2001 From: Rob Ashcom Date: Fri, 22 Mar 2019 13:06:19 -0700 Subject: [PATCH] LDAP config dialog revision #1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - added help sidebar - added placeholder text - reordered some elements in the dialog - added a new control for “Allow anonymous access” TBD “Allow anonymous access” needs backend activation TBD Validation of form field input is spotty TBD Actual text for help needs revision Change-Id: I48ce30f7c8878a0de4ac0f3fcf27fde7ecd51911 Reviewed-on: http://review.couchbase.org/106649 Tested-by: Rob Ashcom Reviewed-by: Pavel Blagodov Tested-by: Pavel Blagodov --- priv/public/ui/app/css/cbui-base.css | 6 +- priv/public/ui/app/css/cbui-components.css | 35 + .../mn_admin/mn_security/mn_roles_groups.html | 2 +- .../mn_user_roles/mn_add_ldap_dialog.html | 1176 +++++++++-------- 4 files changed, 681 insertions(+), 538 deletions(-) diff --git a/priv/public/ui/app/css/cbui-base.css b/priv/public/ui/app/css/cbui-base.css index 35e25dd181..8c0ab8a634 100644 --- a/priv/public/ui/app/css/cbui-base.css +++ b/priv/public/ui/app/css/cbui-base.css @@ -170,7 +170,7 @@ h4 label { h5 { font-size: .875rem; font-weight: 600; - color: #333; + color: #000; } /* nav section title -------------------------------------------------------- */ h6 { @@ -799,6 +799,10 @@ input:-ms-input-placeholder { padding: .25rem 0 0 0; line-height: normal; } +input[type="text"]::placeholder, +textarea::placeholder { + color: #999; +} input[type="email"][disabled], input[type="number"][disabled], diff --git a/priv/public/ui/app/css/cbui-components.css b/priv/public/ui/app/css/cbui-components.css index ed30c9d032..f915d62c31 100644 --- a/priv/public/ui/app/css/cbui-components.css +++ b/priv/public/ui/app/css/cbui-components.css @@ -2658,3 +2658,38 @@ input[type=text].scenario-desc { .scenario-save-controls a { font-size: .875rem; } + +/* LDAP configuration dialog -------------------------------------------------*/ +.ldap-helpsidebar { + font-size: .75rem; + width: 248px; + position:fixed; + left: calc(50vw + 120px); + border: 1px solid #ececec; + height: 480px; + overflow-y: scroll; + border-width: 0 0 0 1px; + padding-left: 1rem; +} +.ldap-helpsidebar .disclosure { + padding-left: 1.25rem; +} +.ldap-helpsidebar .disclosed { + padding-left: 1.25rem; +} +.ldap-helpsidebar .disclosure:before { + font-size: .875rem; + top: 0; +} +.ldap-helpsidebar .disclosed:before { + font-size: .875rem; + top: 0; +} +.ldap-helpsidebar h5 { + line-height: 1.7; + margin-top: .25rem; +} +.ldap-helpsidebar h5:first-child { + line-height: 1.7; + margin-top: 0; +} diff --git a/priv/public/ui/app/mn_admin/mn_security/mn_roles_groups.html b/priv/public/ui/app/mn_admin/mn_security/mn_roles_groups.html index f8ba0184d6..73cf3dce51 100644 --- a/priv/public/ui/app/mn_admin/mn_security/mn_roles_groups.html +++ b/priv/public/ui/app/mn_admin/mn_security/mn_roles_groups.html @@ -13,7 +13,7 @@
diff --git a/priv/public/ui/app/mn_admin/mn_security/mn_user_roles/mn_add_ldap_dialog.html b/priv/public/ui/app/mn_admin/mn_security/mn_user_roles/mn_add_ldap_dialog.html index 7ea491a25a..0088089712 100644 --- a/priv/public/ui/app/mn_admin/mn_security/mn_user_roles/mn_add_ldap_dialog.html +++ b/priv/public/ui/app/mn_admin/mn_security/mn_user_roles/mn_add_ldap_dialog.html @@ -1,560 +1,664 @@ -
+
-

- Add LDAP -

+

LDAP Configuration

-
-
- - -
- {{addLdapDialogCtl.errors.hosts}} -
-
-
- - -
- {{addLdapDialogCtl.errors.port}} -
-
-
- - -
- {{addLdapDialogCtl.errors.encryption}} -
-
-
- -
- - - - - - - - - - - -
-
- {{addLdapDialogCtl.errors.server_cert_validation}} -
-
-
- - -
- {{addLdapDialogCtl.errors.cacert}} -
-
-
- - -
- {{addLdapDialogCtl.errors.query_dn}} -
-
-
- - -
- {{addLdapDialogCtl.errors.query_pass}} -
-
- -
- -

{{addLdapDialogCtl.connectSuccessResult.data.result == "error" ? addLdapDialogCtl.connectSuccessResult.data.reason || "error" : "Connect LDAP server successful"}}

-
- - -
- -   Enable LDAP user authentication -
-
-
- -
- - - - - - -
-
- -
- - -
- -
-
- - -
-
- - -
-
- -
-
- - -
-
- -
- {{addLdapDialogCtl.errors.user_dn_mapping}} -
- -

- Test User Authentication -

-
-
- - -
- {{addLdapDialogCtl.errors.auth_user}} + novalidate + ng-submit="addLdapDialogCtl.save()" + mn-spinner="addLdapDialogCtl.viewLoading"> +
+
+
+ +
+ + + +
+ {{addLdapDialogCtl.errors.hosts}} +
+
+ + + +
+ {{addLdapDialogCtl.errors.port}} +
+
+
+
+ + + +
+ {{addLdapDialogCtl.errors.encryption}} +
+
+ + +
+ + + + + + +
+
+ {{addLdapDialogCtl.errors.cert}} +
+
-
-
- -
- {{addLdapDialogCtl.errors.auth_pass}} + class="formrow" + ng-if="addLdapDialogCtl.config.connect.cert == 'certText'"> + + +
+ {{addLdapDialogCtl.errors.cacert}} +
-
- -
- -

{{addLdapDialogCtl.authenticationSuccessResult.data.result == "error" ? addLdapDialogCtl.connectSuccessResult.data.reason || "error" : "User recognized by LDAP server"}}

-
-
-
- -
- -   Enable LDAP group authorization & sync -
-
-
- - -
- -
- -
- - - - - - -
-
- -
- - -
- -
-
- - -
-
- - -
-
- - -
-
+
+ + +
+
+ + + +
+ {{addLdapDialogCtl.errors.query_dn}} +
+
+ + + +
+ {{addLdapDialogCtl.errors.query_pass}} +
+
+
+
+ + + + + + {{addLdapDialogCtl.connectSuccessResult.data.result == "error" ? addLdapDialogCtl.connectSuccessResult.data.reason || "error" : "Contact LDAP server successful"}} + + +
+ -
-
- - - -
-
+ + +
+ +   Enable LDAP user authentication +
+
+
+ +
+ + + + + + +
+
+
+
+ + +
+
+ + + + + + + + +
+
+ + +
+
+ {{addLdapDialogCtl.errors.user_dn_mapping}} +
+
+

+ Test User Authentication +

+
+
+ + + +
+ {{addLdapDialogCtl.errors.auth_user}} +
+
+ + + +
+ {{addLdapDialogCtl.errors.auth_pass}} +
+
+
+ +
+ + +

+ {{addLdapDialogCtl.authenticationSuccessResult.data.result == "error" ? + addLdapDialogCtl.connectSuccessResult.data.reason || "error" : "User recognized by LDAP server"}} +

+
+
+
+
-
- {{addLdapDialogCtl.errors.groups_query}} -
+ + +
+ +   Enable LDAP group authorization & sync +
+
+
+ +
+ + + + + + +
+
+
+ + +
+
+ + + + + + + + +
+
+ + +
+
+ + +
+
+ {{addLdapDialogCtl.errors.groups_query}} +
+
+ + +
+

+ Test Groups Query +

+
+
+ + +
+ {{addLdapDialogCtl.errors.groups_query_user}} +
+
+
+ + + + + + {{addLdapDialogCtl.queryForGroupsSuccessResult.data.result == "error" ? addLdapDialogCtl.queryForGroupsSuccessResult.data.reason || "error" : "Groups discovered successfully"}} + + +
+
+
+
-

- Test Groups Query -

-
-
- - -
- {{addLdapDialogCtl.errors.groups_query_user}} + + +
+
+ + +
+ {{addLdapDialogCtl.errors.request_timeout}} +
+
+
+ + +
+ {{addLdapDialogCtl.errors.max_parallel_connections}} +
+
+
+ + +
+ {{addLdapDialogCtl.errors.max_cache_size}} +
+
+
+ + +
+ {{addLdapDialogCtl.errors.cache_value_lifetime}} +
+
+
+ + +
+ {{addLdapDialogCtl.errors.nested_groups_max_depth}} +
-
- -
- -

{{addLdapDialogCtl.queryForGroupsSuccessResult.data.result == "error" ? addLdapDialogCtl.queryForGroupsSuccessResult.data.reason || "error" : "Groups discovered successfully"}}

-
-

- Advanced Settings -

-
-
- - -
- {{addLdapDialogCtl.errors.request_timeout}} + +
+
+ LDAP Host Configuration +
+
+

+ This first section (down to Check Network Settings) contains + the basic settings to connect to your LDAP host(s). +

+

+ Your certificate choices for connecting to your LDAP host are either + none, use the certificate already loaded in your Couchbase cluster, + or choose Paste Cert and paste in your own certificate text. +

+

+ You may choose Contact LDAP Host Anonymously if your LDAP + configuration supports it, but an LDAP DN and valid + password will be necessary if you choose to authenticate users with + the query builder below and for any group authorization. +

-
-
- - -
- {{addLdapDialogCtl.errors.max_parallel_connections}} +
+ User Authentication +
+
+

+ This section (down to Test User Authentication) lets you map + simple usernames (that will be used to log into Couchbase SERVER) to + LDAP DNs. You can expand the test section to test your mapping with + a real user. +

-
-
- - -
- {{addLdapDialogCtl.errors.max_cache_size}} -
-
-
- - -
- {{addLdapDialogCtl.errors.cache_value_lifetime}} -
-
-
- - -
- {{addLdapDialogCtl.errors.nested_groups_max_depth}} +
+ Group Authorization +
+
+

+ This section (down to Test Group Authorization) lets you map + simple usernames (that will be used to log into Couchbase SERVER) to + LDAP DNs. You can expand the test section to test your mapping with + a real user. +