Search in sources :

Example 1 with RolePermissionResolverAware

use of org.apache.shiro.authz.permission.RolePermissionResolverAware in project shiro by apache.

the class ModularRealmAuthorizer method applyRolePermissionResolverToRealms.

/**
 * Sets the internal {@link #getRolePermissionResolver} on any internal configured
 * {@link #getRealms Realms} that implement the {@link org.apache.shiro.authz.permission.RolePermissionResolverAware RolePermissionResolverAware} interface.
 * <p/>
 * This method is called after setting a rolePermissionResolver on this ModularRealmAuthorizer via the
 * {@link #setRolePermissionResolver(org.apache.shiro.authz.permission.RolePermissionResolver) setRolePermissionResolver} method.
 * <p/>
 * It is also called after setting one or more realms via the {@link #setRealms setRealms} method to allow these
 * newly available realms to be given the <code>RolePermissionResolver</code> already in use.
 *
 * @since 1.0
 */
protected void applyRolePermissionResolverToRealms() {
    RolePermissionResolver resolver = getRolePermissionResolver();
    Collection<Realm> realms = getRealms();
    if (resolver != null && realms != null && !realms.isEmpty()) {
        for (Realm realm : realms) {
            if (realm instanceof RolePermissionResolverAware) {
                ((RolePermissionResolverAware) realm).setRolePermissionResolver(resolver);
            }
        }
    }
}
Also used : RolePermissionResolver(org.apache.shiro.authz.permission.RolePermissionResolver) RolePermissionResolverAware(org.apache.shiro.authz.permission.RolePermissionResolverAware) Realm(org.apache.shiro.realm.Realm)

Aggregations

RolePermissionResolver (org.apache.shiro.authz.permission.RolePermissionResolver)1 RolePermissionResolverAware (org.apache.shiro.authz.permission.RolePermissionResolverAware)1 Realm (org.apache.shiro.realm.Realm)1