-
Notifications
You must be signed in to change notification settings - Fork 7.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow caching of successful "bind" attempts to LDAP server for configurable period of time #15988
Conversation
e6fb9fe
to
0f50c41
Compare
@den-crane Does this look like a good solution for the slow LDAP server operations, that you were pointing out?
|
d55a26a
to
a0a33b2
Compare
a0a33b2
to
92840dd
Compare
Updated syntax tests. Linked specifications to ldap/authentication and ldap/external_user_directory features.
…down parameter tests written in authentications.py and server_config.py, helper functions written in common.py
Added verification cooldown tests to the ldap/authentication feature.
…o ldap-cache-login
…al_user_directory SRS and test files
* master: (70 commits) Update documentation-issue.md Add an option to use existing tables to perf.py DOCSUP-4280: Update the SELECT query (ClickHouse#17231) DOCSUP-3584 edit and translate (ClickHouse#17176) Fixed flaky test_storage_s3::test_custom_auth_headers Update 01560_merge_distributed_join.sql Minor improvements Slightly more correct Auto version update to [20.13.1.1] [54444] Auto version update to [20.12.1.5236] [54443] Update roadmap Add favicon; add loading indicator Fix race condition; history and sharing capabilities Update bitmap-functions.md Fix exception message Use default value for read-only flag in metadata for Disk3. ISSUES-16605 try fix review comment trigger CI ISSUES-16605 try fix integration failure ISSUES-16605 try fix integration test failure ...
Add cached value access synchronization
I suppose it's better to use a ready out-of-the-box solution. I mean the class
|
I didn't use |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As you said that's not a tight spot so we're not forced to speed up our code here at any cost. It's better to keep invariants. |
@vitlibar |
@@ -88,8 +88,8 @@ class Authentication | |||
void setServerName(const String & server_name_); | |||
|
|||
/// Checks if the provided password is correct. Returns false if not. | |||
/// User name and external authenticators' info are used only by some specific authentication type (e.g., LDAP_SERVER). | |||
bool isCorrectPassword(const String & password_, const String & user_, const ExternalAuthenticators & external_authenticators) const; | |||
/// User name and external authenticators are used by the specific authentication types only (e.g., LDAP_SERVER). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This comment is one of the reasons why password_
used to be passed first: it's used almost for each authentication type unlike user_
.
I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en
Changelog category:
Changelog entry:
verification_cooldown
parameter in LDAP server connection configuration to allow caching of successful "bind" attempts for configurable period of timeDetailed description / Documentation draft:
config.xml file
. See<ldap_servers>
tag.