Expand my Community achievements bar.

July 31st AEM Gems Webinar: Elevate your AEM development to master the integration of private GitHub repositories within AEM Cloud Manager.

com.adobe.granite.security.user.UserProperties Java Class: what's the difference between authorizableId vs principalName?


Level 9

I created a new user (ID=a0001) in my local AEM and both functions give me the same value (which is a0001).


The Adobe reference document is not very clear on the distinction. Thanks


EDIT: I had a look in CRX/DE for the properties of a0002 user and rep:principleName and rep:authorizableId has the same value.



String principalName = userProperties.getPrincipalName();
String authorizableID = userProperties.getAuthorizableID();




1 Accepted Solution


Correct answer by
Employee Advisor
2 Replies


Correct answer by
Employee Advisor

I have got this information -




Hope this will help.


Community Advisor

Also refer to the below link to understand more on the difference between Authorizable and Principal - 


Please note the difference between Authorizable and Principal:
An Authorizable is repository object that is neither associated with nor depending from a particular Session and thus independent of the login mechanisms creating Sessions.

On the other hand Principals are representations of user identities. In other words: each Principal within the set associated with the Session's Subject upon login represents an identity for that user. An the set of Principals may differ between different login mechanisms.

Consequently an one-to-many relationship exists between Authorizable and Principal (see also getPrincipal().


Source - https://developer.adobe.com/experience-manager/reference-materials/6-4/javadoc/org/apache/jackrabbit...