Configuration
Each Space Where GigaSpaces data is stored. It is the logical cache that holds data objects in memory and might also hold them in layered in tiering. Data is hosted from multiple SoRs, consolidated as a unified data model./Processing Unit This is the unit of packaging and deployment in the GigaSpaces Data Grid, and is essentially the main GigaSpaces service. The Processing Unit (PU) itself is typically deployed onto the Service Grid. When a Processing Unit is deployed, a Processing Unit instance is the actual runtime entity. can have it's own security configuration. As such, you can have different security behaviors, but there is one common concept: all configurations are declared using properties (either located in a properties file or part of the components properties).
When a secured component is started, it looks for the security configuration properties in order to instantiate the security implementation.
public interface SecurityManager {
...
void init(Properties properties) throws SecurityException;
}
Security Properties File
The security.properties
file is looked for in the classpath or in the classpath under config/security
.
If all of the components will be requiring the same security configuration, then this is all you need.
Commonly placed under:
$GS_HOME/config/security/security.properties
This file must include at least one defined property - com.gs.security.security-manager.class
specifying the SecurityManager
implementation class.
For example:
com.gs.security.security-manager.class=my.company.MySecurityManagerImpl
Space - Security Configuration file
For a standalone space, the default Space security configuration file is <space-name>-security.properties
. You can include the security properties as part of the custom properties being passed to the space /./space?properties=myCustomProps
.
Space Processing Unit - Security Configuration file
The default Space Processing Unit security configuration file is /META-INF/spring/pu This is the unit of packaging and deployment in the GigaSpaces Data Grid, and is essentially the main GigaSpaces service. The Processing Unit (PU) itself is typically deployed onto the Service Grid. When a Processing Unit is deployed, a Processing Unit instance is the actual runtime entity..properties
. This is equivalent to custom properties being passed to the Space. This allows you to configure different configurations for different Processing Units. Thus, having a Processing Unit Cluster point to a specific security directory.
It is possible to separate the security configurations from the Processing Unit configurations, by placing the configurations in /META-INF/spring/<Space name>-security.properties
file.
Configure using a System property
An alternative is the System Property override.
-Dcom.gs.security.properties-file=my-security.properties
By setting -Dcom.gs.security.properties-file
the property file will be located as a direct path, a resource in the classpath or in the classpath under config/security
or from URL.