Example usage for org.apache.shiro.subject SimplePrincipalCollection getRealmNames

List of usage examples for org.apache.shiro.subject SimplePrincipalCollection getRealmNames

Introduction

In this page you can find the example usage for org.apache.shiro.subject SimplePrincipalCollection getRealmNames.

Prototype

public Set<String> getRealmNames() 

Source Link

Usage

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;
}