Expand my Community achievements bar.

SOLVED

How to get current logged in user in JS

Avatar

Level 7

Hi Team,

I need to get current logged in user information using JavaScript. For this I need to get user's id. Please let me know how can I get the user id so that I can pass it to a servlet and get the user's info.

Thanks,

AryA.

1 Accepted Solution

Avatar

Correct answer by
Level 9

@Dinu,

"cq.widgets" is the dependency which you should be using. However, "cq.widgets" loads many libraries, So, you better go use it carefully. You might have to find out useless libraries which come with "cq-widgets".

--

jitendra

View solution in original post

7 Replies

Avatar

Employee Advisor

You can get the current logged in user Id using the following code - 

CQ.User.getCurrentUser().getUserID();

Avatar

Level 9

Just make sure "CQ" object does exist in a publish environment as well.

Avatar

Administrator

Hi

I have found stackoverflow answer to do the same:-

In JSP / Java you can adapt your resource to UserManager class and get the current user or list down all the users and groups as per your requirement.

    Session session = resourceResolver.adaptTo(Session.class); UserManager userManager = resourceResolver.adaptTo(UserManager.class); /* to get the current user */ Authorizable auth = userManager.getAuthorizable(session.getUserID()); /* to get the property of the authorizable. Use relative path */ Value[] names = auth.getProperty("./profile/familyName"); /* to get the groups it is member of */ Iterator<Group> groups = auth.memberOf();

To list all the users or groups, you can use findAuthorizables() method available in the UserManger.

You can also obtain the User info in JS using CQ.User.getCurrentUser() which would return an instance of the current User, with which you can access the user's properties.

I hope this would come as some help.

Thanks and Regards

Kautuk Sahni



Kautuk Sahni

Avatar

Level 7

Hi Kunal,

It is not working in normal jQuery script. I'm getting "CQ is undefined" error. It works fine in listeners script. Please let me know the dependencies.

Thanks,

AryA.

Avatar

Correct answer by
Level 9

@Dinu,

"cq.widgets" is the dependency which you should be using. However, "cq.widgets" loads many libraries, So, you better go use it carefully. You might have to find out useless libraries which come with "cq-widgets".

--

jitendra

Avatar

Level 7

Hi Jitendra,

I'm able to get the user id now. Will it create any problem if I include this (cq.widgets) as a dependency to my client library?

Thanks,

AryA.