org.apache.geronimo.security.realm
Class GenericSecurityRealm

java.lang.Object
  extended by org.apache.geronimo.security.realm.GenericSecurityRealm
All Implemented Interfaces:
SecurityRealm, ConfigurationEntryFactory

public class GenericSecurityRealm
extends Object
implements SecurityRealm, ConfigurationEntryFactory

A security realm that can be configured for one or more login modules. It can handle a combination of client-side and server-side login modules for the case of remote clients, and it can auto-role-mapping for its login modules (though you must configure it for that).

This realm populates a number of special login module options for the benefit of Geronimo login modules (though some of them are only available to server-side login modules, marked as not Serializable below):

 Option                                      Type                   Serializable
 JaasLoginModuleUse.KERNEL_LM_OPTION       String (Kernel name)        Yes
 JaasLoginModuleUse.SERVERINFO_LM_OPTION   ServerInfo                  No
 JaasLoginModuleUse.CLASSLOADER_LM_OPTION  ClassLoader                 No
 
These options can be safely ignored by login modules that don't need them (such as any custom LoginModules you may already have lying around).


Field Summary
static GBeanInfo GBEAN_INFO
           
 
Constructor Summary
GenericSecurityRealm(String realmName, JaasLoginModuleUse loginModuleUse, boolean wrapPrincipals, ServerInfo serverInfo, ClassLoader classLoader, Kernel kernel)
           
 
Method Summary
 AppConfigurationEntry[] getAppConfigurationEntries()
          Generate the AppConfigurationEntry array for the login modules in this configuration.
 String getConfigurationName()
          Used to obtain the configuration name to be associated with the generated AppConfigurationEntry array.
static GBeanInfo getGBeanInfo()
           
 String[] getLoginDomains()
          Gets a list of the login domains that make up this security realm.
 JaasLoginModuleChain getLoginModuleChain()
           
 String getRealmName()
          The name of the realm, which must be unique across all realms in the server.
 boolean isWrapPrincipals()
          If this attribute is true, then the principals will be wrapped in realm principals.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

GBEAN_INFO

public static final GBeanInfo GBEAN_INFO
Constructor Detail

GenericSecurityRealm

public GenericSecurityRealm(String realmName,
                            JaasLoginModuleUse loginModuleUse,
                            boolean wrapPrincipals,
                            ServerInfo serverInfo,
                            ClassLoader classLoader,
                            Kernel kernel)
                     throws ClassNotFoundException
Throws:
ClassNotFoundException
Method Detail

getRealmName

public String getRealmName()
Description copied from interface: SecurityRealm
The name of the realm, which must be unique across all realms in the server.

Specified by:
getRealmName in interface SecurityRealm

getAppConfigurationEntries

public AppConfigurationEntry[] getAppConfigurationEntries()
Description copied from interface: ConfigurationEntryFactory
Generate the AppConfigurationEntry array for the login modules in this configuration.

Specified by:
getAppConfigurationEntries in interface ConfigurationEntryFactory
Returns:
a AppConfigurationEntry[]

getLoginModuleChain

public JaasLoginModuleChain getLoginModuleChain()

getLoginDomains

public String[] getLoginDomains()
Gets a list of the login domains that make up this security realm. A particular LoginModule represents 0 or 1 login domains, and a realm is composed of a number of login modules, so the realm may cover any number of login domains, though typically that number will be 1.


isWrapPrincipals

public boolean isWrapPrincipals()
If this attribute is true, then the principals will be wrapped in realm principals.


getConfigurationName

public String getConfigurationName()
Description copied from interface: ConfigurationEntryFactory
Used to obtain the configuration name to be associated with the generated AppConfigurationEntry array.

Specified by:
getConfigurationName in interface ConfigurationEntryFactory
Returns:
the configuration name

getGBeanInfo

public static GBeanInfo getGBeanInfo()


Copyright © 2003-2007 Apache Software Foundation. All Rights Reserved.