Interface PrincipalMap
- All Superinterfaces:
Iterable,Map<String,,Object> PrincipalCollection,Serializable
- All Known Implementing Classes:
SimplePrincipalMap
EXPERIMENTAL - DO NOT USE YET
A
PrincipalMap is map of all of a subject's principals - its identifying attributes like username, userId,
etc.
The Map methods allow you to interact with a unified representation of
all of the Subject's principals, even if they came from different realms. You can think of the Map methods
as the general purpose API for a Subject's principals. That is, you can access a principal generally:
Object principal = subject.getPrincipals().get(principalName);For example, to get the Subject's username (if the username principal indeed exists and was populated by a Realm), you can do the following:
String username = (String)subject.getPrincipals().get("username");
Multi-Realm Environments
If your application uses multiple realms, theMap methods reflect
the the aggregate principals from all realms that authenticated the owning Subject.
But in these multi-realm environments, it is often convenient or necessary to acquire only the principals contributed
by a specific realm (often in a realm implementation itself). This PrincipalMap interface satisfies
those needs by providing additional realm-specific accessor/mutator methods.- Since:
- 1.2
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetRealmPrincipal(String realmName, String realmPrincipal) getRealmPrincipals(String realmName) removeRealmPrincipal(String realmName, String principalName) setRealmPrincipal(String realmName, String principalName, Object principal) setRealmPrincipals(String realmName, Map<String, Object> principals) Methods inherited from interface java.lang.Iterable
forEach, iterator, spliteratorMethods inherited from interface java.util.Map
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, valuesMethods inherited from interface org.apache.shiro.subject.PrincipalCollection
asList, asSet, byType, fromRealm, getPrimaryPrincipal, getRealmNames, isEmpty, oneByType
-
Method Details
-
getRealmPrincipals
-
setRealmPrincipals
-
setRealmPrincipal
-
getRealmPrincipal
-
removeRealmPrincipal
-