Diese Konversation wurde aufgrund von Inaktivität geschlossen. Bitte erstellen Sie einen neuen Post.
Level 1
Level 2
Melden Sie sich an, um alle Badges zu sehen
Diese Konversation wurde aufgrund von Inaktivität geschlossen. Bitte erstellen Sie einen neuen Post.
Hi All,
How to authenticate whether the logged user is admin or belong to administrator group or not in a servlet?
Thanks & Regards,
Ashwini V
Zugriffe
Antworten
Likes gesamt
Zugriffe
Antworten
Likes gesamt
Thanks for the response
How to use the session and authenicate the current user is admin or whether the user belong to administrator group?
Because using the below code , it is giving NULL POINTER exception
ResourceResolver resourceResolver = resourceFactory.getAdministrativeResourceResolver(null);
Session session = resourceResolver.adaptTo(Session.class);
UserManager currentUser = resourceResolver.adaptTo(UserManager.class);
Please suggest some other code to resolve this issue
Thanks & Regards,
Ashwini
Zugriffe
Antworten
Likes gesamt
Admin session is not recommended in 6.x. Use service users to get the session and thereby current user's properties. You can get groups within Authorizable. You may have to modify the code based on AEM version that you use.
something like
Session session = resourceResolver.adaptTo(Session.class);
UserManager userManager = resourceResolver.adaptTo(UserManager.class);
Authorizable auth = userManager.getAuthorizable(session.getUserID());
Iterator<Group> groups = auth.memberOf();
or
//Create a UserManager instance from the session object
UserManager userManager = ((JackrabbitSession) session).getUserManager();
users= userManager.findAuthorizables(
"jcr:primaryType"
,
"rep:User"
);
Refer:
Adobe CQ/Adobe AEM: How to Use Sessions and Resource Resolver through Service Authentication In AEM6
Apache Sling :: Managing users and groups (jackrabbit.usermanager)
Zugriffe
Antworten
Likes gesamt
Make sure to user current user session
Session userSession = slingRequest.getResourceResolver().adaptTo(Session.class);
final UserManager userManager = slingRequest.getResourceResolver().adaptTo(UserManager.class);
final User user = (User) userManager.getAuthorizable(userSession.getUserID());
Boolean isadmin = user.isAdmin()
Zugriffe
Antworten
Likes gesamt
We have many AEM articles that show use of using a System user - ie - Scott's Digital Community: Querying Adobe Experience Manager 6.4 JCR data
That is your issue. You should be using a System user.
Zugriffe
Antworten
Likes gesamt
Hi,
Please find sample servlet below:
aem63app-repo/SimpleGetGroup.java at master · arunpatidar02/aem63app-repo · GitHub
Zugriffe
Antworten
Likes gesamt
Zugriffe
Likes
Antworten
Zugriffe
Likes
Antworten
Zugriffe
Likes
Antworten