<< Back to previous view

[QB-2749] allow embedding scripts on LDAP user filter
Created: 27/Jun/16  Updated: 13/Jan/17

Status: Resolved
Project: QuickBuild
Component/s: None
Affects Version/s: 6.1.12
Fix Version/s: 7.0.0

Type: Improvement Priority: Minor
Reporter: Tim Earle Assigned To: Unassigned
Resolution: Fixed Votes: 0
Remaining Estimate: Unknown Time Spent: Unknown
Original Estimate: Unknown


 Description   
Most LDAP services provide the option to set an attribute for the password/account expiration date. Being able to embed a script into the User Search Filter field would allow the administrator to deny access to QB based on this field. An example using freeIPA for DS:
This:
(&(uid={0})(objectclass=inetorgperson))
Could Be:
(&(uid={0})(objectclass=inetorgperson)(krbPasswordExpiration>${util.formatDate(new Date(),"%Y%m%d%H%M%SZ")}))

An alternative approach would be to set the account or password expiration date via a helper field, similar to "User full name attribute" and "User email attribute."
Add a new field called "Password Expiration Date Attribute" that would receive "krbPasswordExpiration" in this case or a boolean attribute indicating if the account is locked or not.

 Comments   
Comment by Robin Shen [ 28/Jun/16 02:24 AM ]
I guess your concern is not to allow QB user to login when the password is expired at LDAP side? If so, LDAP will prevent this as QB will forward the login request to LDAP.
Comment by Tim Earle [ 28/Jun/16 12:12 PM ]
Primarily, yes. Some LDAP providers (OpenLDAP, 389 Directory Services) do not always enforce a password expiration for binding purposes, this is particularly the case when facilitating self-service password reset/update functionality. Most secure implementation will not bind as an admin user, instead allow the user to modify specific attributes on their own DN.
Comment by Tim Earle [ 14/Jul/16 06:44 PM ]
RedHat's enterprise LDAP/directory services solutions discussion around the issue. Upstream advises using LDAP filters to limit logins with expired passwords: https://fedorahosted.org/freeipa/ticket/1539
Generated at Tue May 21 05:01:27 UTC 2024 using JIRA 189.