Skip to main content
This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
smacdonald2008
smacdonald2008Accepted solution
Level 10
Oct 16, 2015 2:28 AM UTC

We have a community article that talks about working with the user manager. This article retrieves users and displays them in a grid control:

[img]UserGrid.png[/img]

This will help you - notice that email is listed as a column. 

See: 

http://helpx.adobe.com/experience-manager/using/using-ajax-requests-display-cq.html

For this workflow - you can get all users then iterate through the result set and compare email. Once you have the user you want -- get the other properties. 

Some people like using User Manager while others like the lower level JCR API. 

7 replies

Adobe Employee
Oct 16, 2015 2:28 AM UTC

The email property is on the profile child node, so you need to do

userMgr.findAuthorizables("email", "myemail@geometrixx.info", UserManager.SEARCH_TYPE_USER)
Translate
Adobe Employee
Oct 16, 2015 2:28 AM UTC

Yes, that's helpful. Thanks a lot!

Translate
Adobe Employee
Oct 16, 2015 2:28 AM UTC

Thanks for your reply!

I created a user with email as "myemail@geometrixx.info". Then tried to call this api as this: 

userMgr.findAuthorizables("email", "myemail@geometrixx.info", UserManager.SEARCH_TYPE_USER)

It doesn't return the matched user.

Can you see anything that I did wrong? 

Translate
Adobe Employee
Oct 16, 2015 2:28 AM UTC

The UserManager does have an API for this, which you should use instead of directly using JCR query - https://dev.day.com/docs/en/cq/current/javadoc/org/apache/jackrabbit/api/security/user/UserManager.html#findAuthorizables(java.lang.String, java.lang.String, int). The reason this is preferrable is that the the node types used for representing users are technically an implementation detail of the UserManager implementation.

Translate
smacdonald2008
smacdonald2008Accepted solution
Level 10
Oct 16, 2015 2:28 AM UTC

We have a community article that talks about working with the user manager. This article retrieves users and displays them in a grid control:

[img]UserGrid.png[/img]

This will help you - notice that email is listed as a column. 

See: 

http://helpx.adobe.com/experience-manager/using/using-ajax-requests-display-cq.html

For this workflow - you can get all users then iterate through the result set and compare email. Once you have the user you want -- get the other properties. 

Some people like using User Manager while others like the lower level JCR API. 

Translate
Adobe Employee
Oct 16, 2015 2:28 AM UTC

I was hoping like UserManager could have api to do that kind of job.

Translate
smacdonald2008
Level 10
Oct 16, 2015 2:28 AM UTC

You can use JCR API to search for a node (the node that contains the user information) searching on the email address (which will be a property). Once you have the node -- you can read other properties. 

Translate