Example usage for org.apache.shiro.config ConfigurationException ConfigurationException

List of usage examples for org.apache.shiro.config ConfigurationException ConfigurationException

Introduction

In this page you can find the example usage for org.apache.shiro.config ConfigurationException ConfigurationException.

Prototype

public ConfigurationException() 

Source Link

Document

Creates a new ConfigurationException.

Usage

From source file:org.killbill.billing.util.glue.IniRealmProvider.java

License:Apache License

@Override
public IniRealm get() {
    try {/*from   ww  w.  j a  v a 2  s .  c  om*/
        final Factory<SecurityManager> factory = new IniSecurityManagerFactory(
                securityConfig.getShiroResourcePath());
        // TODO Pierre hack - lame cast here, but we need to have Shiro go through its reflection magic
        // to parse the [main] section of the ini file. Without duplicating code, this seems to be possible only
        // by going through IniSecurityManagerFactory.
        final DefaultSecurityManager securityManager = (DefaultSecurityManager) factory.getInstance();
        final Collection<Realm> realms = securityManager.getRealms();

        IniRealm iniRealm = null;
        if (realms == null || realms.isEmpty()) {
            iniRealm = new IniRealm(securityConfig.getShiroResourcePath());
        } else {
            for (final Realm cur : realms) {
                if (cur instanceof IniRealm) {
                    iniRealm = (IniRealm) cur;
                    break;
                }
            }
        }
        if (iniRealm != null) {
            // See JavaDoc warning: https://shiro.apache.org/static/1.2.3/apidocs/org/apache/shiro/realm/AuthenticatingRealm.html
            iniRealm.setAuthenticationCachingEnabled(true);

            return iniRealm;
        } else {
            throw new ConfigurationException();
        }
    } catch (final ConfigurationException e) {
        log.warn("Unable to configure RBAC", e);
        return new IniRealm();
    }
}