List of usage examples for org.apache.shiro.subject SimplePrincipalCollection getRealmNames
public Set<String> getRealmNames()
From source file:cn.ruiyi.base.service.shiro.ShiroDbRealm.java
License:Apache License
/** * ??./*from w ww. j ava 2 s . c om*/ */ public void clearCachedAuthorizationInfo(String principal) { SimplePrincipalCollection principals = new SimplePrincipalCollection(principal, getName()); principals.getRealmNames(); clearCachedAuthorizationInfo(principals); }
From source file:org.sonatype.nexus.rutauth.internal.RutAuthRealm.java
License:Open Source License
@Override protected AuthenticationInfo doGetAuthenticationInfo(final AuthenticationToken token) throws AuthenticationException { final String rutUserId = token.getPrincipal().toString(); final SimplePrincipalCollection principals = new SimplePrincipalCollection(); final List<String> configuredRealms = realmManager.getConfiguration().getRealmNames(); for (UserManager userManager : userManagers) { if (configuredRealms.contains(userManager.getAuthenticationRealmName())) { try { final User user = userManager.getUser(rutUserId); principals.add(user.getUserId(), userManager.getAuthenticationRealmName()); } catch (UserNotFoundException e) { // ignore and continue searching }/*w ww .j a v a2 s .c om*/ } } if (!principals.isEmpty()) { log.debug("Found principals for RUT user '{}': '{}' from realms '{}'", rutUserId, principals, principals.getRealmNames()); // make RUT the primary one, but keep all the found ones too final SimplePrincipalCollection principalCollection = new SimplePrincipalCollection( token.getPrincipal(), getName()); principalCollection.addAll(principals); return new SimpleAuthenticationInfo(principalCollection, null); } log.debug("No found principals for RUT user '{}'", rutUserId); return null; }