org.apache.shiro.realm.text
Class IniRealm

java.lang.Object
  extended by org.apache.shiro.realm.CachingRealm
      extended by org.apache.shiro.realm.AuthenticatingRealm
          extended by org.apache.shiro.realm.AuthorizingRealm
              extended by org.apache.shiro.realm.SimpleAccountRealm
                  extended by org.apache.shiro.realm.text.TextConfigurationRealm
                      extended by org.apache.shiro.realm.text.IniRealm
All Implemented Interfaces:
LogoutAware, Authorizer, PermissionResolverAware, RolePermissionResolverAware, CacheManagerAware, Realm, Initializable, Nameable

public class IniRealm
extends TextConfigurationRealm

A Realm implementation that creates SimpleAccount instances based on Ini configuration.

This implementation looks for two sections in the Ini configuration:

 [users]
 # One or more user definitions
 ...
 [roles]
 # One or more role definitions

This class also supports setting the resourcePath property to create account data from an .ini resource. This will only be used if there isn't already account data in the Realm.

Since:
1.0

Field Summary
static String ROLES_SECTION_NAME
           
static String USERS_SECTION_NAME
           
 
Fields inherited from class org.apache.shiro.realm.SimpleAccountRealm
roles, ROLES_LOCK, users, USERS_LOCK
 
Constructor Summary
IniRealm()
           
IniRealm(Ini ini)
          This constructor will immediately process the definitions in the Ini argument.
IniRealm(String resourcePath)
          This constructor will immediately process the definitions in the Ini resolved from the specified resourcePath.
 
Method Summary
 Ini getIni()
          Returns the Ini instance used to configure this realm.
 String getResourcePath()
           
protected  void onInit()
          Will call 'processDefinitions' on startup.
 void setIni(Ini ini)
          Sets the Ini instance used to configure this realm.
 void setResourcePath(String resourcePath)
           
 
Methods inherited from class org.apache.shiro.realm.text.TextConfigurationRealm
getRoleDefinitions, getUserDefinitions, processDefinitions, processRoleDefinitions, processRoleDefinitions, processUserDefinitions, processUserDefinitions, setRoleDefinitions, setUserDefinitions, toLines, toMap
 
Methods inherited from class org.apache.shiro.realm.SimpleAccountRealm
accountExists, add, add, addAccount, addAccount, addRole, doGetAuthenticationInfo, doGetAuthorizationInfo, getRole, getUser, getUsername, getUsername, roleExists, toSet
 
Methods inherited from class org.apache.shiro.realm.AuthorizingRealm
afterCacheManagerSet, checkPermission, checkPermission, checkPermission, checkPermissions, checkPermissions, checkPermissions, checkRole, checkRole, checkRoles, checkRoles, checkRoles, clearCachedAuthorizationInfo, doClearCache, getAuthorizationCache, getAuthorizationCacheKey, getAuthorizationCacheName, getAuthorizationInfo, getPermissionResolver, getRolePermissionResolver, hasAllRoles, hasRole, hasRole, hasRoles, hasRoles, isAuthorizationCachingEnabled, isPermitted, isPermitted, isPermitted, isPermitted, isPermitted, isPermittedAll, isPermittedAll, isPermittedAll, setAuthorizationCache, setAuthorizationCacheName, setAuthorizationCachingEnabled, setName, setPermissionResolver, setRolePermissionResolver
 
Methods inherited from class org.apache.shiro.realm.AuthenticatingRealm
assertCredentialsMatch, clearCachedAuthenticationInfo, getAuthenticationCache, getAuthenticationCacheKey, getAuthenticationCacheKey, getAuthenticationCacheName, getAuthenticationInfo, getAuthenticationTokenClass, getCredentialsMatcher, init, isAuthenticationCachingEnabled, isAuthenticationCachingEnabled, setAuthenticationCache, setAuthenticationCacheName, setAuthenticationCachingEnabled, setAuthenticationTokenClass, setCredentialsMatcher, supports
 
Methods inherited from class org.apache.shiro.realm.CachingRealm
clearCache, getAvailablePrincipal, getCacheManager, getName, isCachingEnabled, onLogout, setCacheManager, setCachingEnabled
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.shiro.util.Initializable
init
 

Field Detail

USERS_SECTION_NAME

public static final String USERS_SECTION_NAME
See Also:
Constant Field Values

ROLES_SECTION_NAME

public static final String ROLES_SECTION_NAME
See Also:
Constant Field Values
Constructor Detail

IniRealm

public IniRealm()

IniRealm

public IniRealm(Ini ini)
This constructor will immediately process the definitions in the Ini argument. If you need to perform additional configuration before processing (e.g. setting a permissionResolver, etc), do not call this constructor. Instead, do the following:
  1. Call the default no-arg constructor
  2. Set the Ini instance you wish to use via #setIni
  3. Set any other configuration properties
  4. Call AuthenticatingRealm.init()

Parameters:
ini - the Ini instance which will be inspected to create accounts, groups and permissions for this realm.

IniRealm

public IniRealm(String resourcePath)
This constructor will immediately process the definitions in the Ini resolved from the specified resourcePath. If you need to perform additional configuration before processing (e.g. setting a permissionResolver, etc), do not call this constructor. Instead, do the following:
  1. Call the default no-arg constructor
  2. Set the Ini instance you wish to use via #setIni
  3. Set any other configuration properties
  4. Call AuthenticatingRealm.init()

Parameters:
resourcePath - the resource path of the Ini config which will be inspected to create accounts, groups and permissions for this realm.
Method Detail

getResourcePath

public String getResourcePath()

setResourcePath

public void setResourcePath(String resourcePath)

getIni

public Ini getIni()
Returns the Ini instance used to configure this realm. Provided for JavaBeans-style configuration of this realm, particularly useful in Dependency Injection environments.

Returns:
the Ini instance which will be inspected to create accounts, groups and permissions for this realm.

setIni

public void setIni(Ini ini)
Sets the Ini instance used to configure this realm. Provided for JavaBeans-style configuration of this realm, particularly useful in Dependency Injection environments.

Parameters:
ini - the Ini instance which will be inspected to create accounts, groups and permissions for this realm.

onInit

protected void onInit()
Description copied from class: TextConfigurationRealm
Will call 'processDefinitions' on startup.

Overrides:
onInit in class TextConfigurationRealm
See Also:
SHIRO-223


Copyright © 2004-2014 The Apache Software Foundation. All Rights Reserved.