Skip to content

Commit 9715d52

Browse files
committed
On allow login for users that have at least one role
1 parent 655e67c commit 9715d52

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

src/clj/mdr2/ldap.clj

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,11 @@
4343
set)]
4444
(assoc user :roles roles)))
4545

46+
(defn- not-empty-roles
47+
"Return the given `user` if it has any roles, otherwise return nil"
48+
[{:keys [roles] :as user}]
49+
(when (not-empty roles) user))
50+
4651
(defn authenticate [username password & [attributes]]
4752
(let [conn (ldap/get-connection ldap-pool)
4853
qualified-name (str "uid=" username ",cn=users,cn=accounts,dc=sbszh,dc=ch")]
@@ -54,5 +59,6 @@
5459
:attributes (or attributes [])})
5560
first
5661
add-roles
57-
(select-keys [:uid :mail :initials :givenName :displayName :telephoneNumber :roles])))
62+
(select-keys [:uid :mail :initials :givenName :displayName :telephoneNumber :roles])
63+
not-empty-roles)) ;; only return users that have a role
5864
(finally (ldap/release-connection ldap-pool conn)))))

0 commit comments

Comments
 (0)