[Feature]: Support LDAP Authentication for Dashboard Login
Why are the changes needed?
The current Dashboard login uses an admin-user with a plaintext password, which is highly insecure. To enhance security, centralize user management, and align with industry standard practices, we need to switch to LDAP authentication.
Close #4008.
Brief change log
- Introduced three new login-related configurations in AmoroManagementConf.
- Added LdapPasswdAuthenticationProvider to support LDAP integration (implements PasswdAuthenticationProvider).
- Updated LoginController to use PasswdAuthenticationProvider for user login validation.
How was this patch tested?
-
[x] Add some test cases that check the changes thoroughly including negative and positive cases if possible
-
[x] Run test locally before making a pull request
Documentation
- Does this pull request introduce a new feature? (yes / no) yes
- If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented) not documented
Codecov Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 4.78%. Comparing base (cbdc517) to head (3c9c606).
:warning: Report is 12 commits behind head on master.
Additional details and impacted files
@@ Coverage Diff @@
## master #4009 +/- ##
============================================
- Coverage 22.12% 4.78% -17.35%
+ Complexity 2461 471 -1990
============================================
Files 445 446 +1
Lines 40897 40951 +54
Branches 5767 5767
============================================
- Hits 9050 1958 -7092
- Misses 31089 38799 +7710
+ Partials 758 194 -564
| Flag | Coverage Δ | |
|---|---|---|
| trino | 4.78% <ø> (-17.35%) |
:arrow_down: |
Flags with carried forward coverage won't be shown. Click here to find out more.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.