Package com.netscape.cms.authorization
Class BasicGroupAuthz
- java.lang.Object
-
- com.netscape.cms.authorization.BasicGroupAuthz
-
- All Implemented Interfaces:
IExtendedPluginInfo,IAuthzManager
public class BasicGroupAuthz extends java.lang.Object implements IAuthzManager, IExtendedPluginInfo
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String[]configParamsprotected static java.util.Vector<java.lang.String>extendedPluginInfostatic org.slf4j.Loggerlogger-
Fields inherited from interface com.netscape.certsrv.base.IExtendedPluginInfo
HELP_TEXT, HELP_TOKEN
-
-
Constructor Summary
Constructors Constructor Description BasicGroupAuthz()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccessInit(java.lang.String accessInfo)accessInitis for servlets who want to initialize their own authorization information before full operation.java.util.Enumeration<IAccessEvaluator>aclEvaluatorElements()Get all registered evaluators.AuthzTokenauthorize(IAuthToken authToken, java.lang.String expression)AuthzTokenauthorize(IAuthToken authToken, java.lang.String resource, java.lang.String operation)Check if the user is authorized to perform the given operation on the given resource.java.util.Hashtable<java.lang.String,IAccessEvaluator>getAccessEvaluators()Return a table of evaluatorsIACLgetACL(java.lang.String target)Get individual ACL entry for the given name of entry.java.util.Enumeration<IACL>getACLs()Get ACL entriesjava.lang.String[]getConfigParams()Get configuration parameters for this implementation.AuthzManagerConfiggetConfigStore()Get the configuration store for this authorization manager.java.lang.String[]getExtendedPluginInfo(java.util.Locale locale)This method returns an array of strings.java.lang.StringgetImplName()Get implementation name of authorization manager plugin.java.lang.StringgetName()Get the name of this authorization manager instance.voidinit(java.lang.String name, java.lang.String implName, AuthzManagerConfig config)Initialize this authorization manager.voidregisterEvaluator(java.lang.String type, IAccessEvaluator evaluator)Register new evaluatorvoidshutdown()Prepare this authorization manager for a graceful shutdown.voidupdateACLs(java.lang.String id, java.lang.String rights, java.lang.String strACLs, java.lang.String desc)Update ACLs in the database
-
-
-
Method Detail
-
getExtendedPluginInfo
public java.lang.String[] getExtendedPluginInfo(java.util.Locale locale)
Description copied from interface:IExtendedPluginInfoThis method returns an array of strings. Each element of the array represents a configurable parameter, or some other meta-info (such as help-token) there is an entry indexed on that parameter name; [,required]; ;... Where: type_info is either 'string', 'number', 'boolean', 'password' or 'choice(ch1,ch2,ch3,...)' If the marker 'required' is included after the type_info, the parameter will has some visually distinctive marking in the UI. 'description' is a short sentence describing the parameter 'choice' is rendered as a drop-down list. The first parameter in the list will be activated by default 'boolean' is rendered as a checkbox. The resulting parameter will be either 'true' or 'false' 'string' allows any characters 'number' allows only numbers 'password' is rendered as a password field (the characters are replaced with *'s when being types. This parameter is not passed through to the plugin. It is instead inserted directly into the password cache keyed on the instance name. The value of the parameter 'bindPWPrompt' (see example below) is set to the key. In addition to the configurable parameters, the following magic parameters may be defined: HELP_TOKEN;helptoken - a pointer to the online manual section for this plugin HELP_TEXT;helptext - a general help string describing the plugin For example: "username;string;The username you wish to login as" "bindPWPrompt;password;Enter password to bind as above user with" "algorithm;choice(RSA,DSA);Which algorithm do you want to use" "enable;boolean;Do you want to run this plugin" "port;number;Which port number do you want to use" - Specified by:
getExtendedPluginInfoin interfaceIExtendedPluginInfo
-
getName
public java.lang.String getName()
Description copied from interface:IAuthzManagerGet the name of this authorization manager instance.- Specified by:
getNamein interfaceIAuthzManager- Returns:
- String the name of this authorization manager.
-
getImplName
public java.lang.String getImplName()
Description copied from interface:IAuthzManagerGet implementation name of authorization manager plugin.An example of an implementation name will be:
com.netscape.cms.BasicAclAuthz
- Specified by:
getImplNamein interfaceIAuthzManager- Returns:
- The name of the authorization manager plugin.
-
accessInit
public void accessInit(java.lang.String accessInfo) throws EBaseExceptionDescription copied from interface:IAuthzManageraccessInitis for servlets who want to initialize their own authorization information before full operation. It is supposed to be called from the authzMgrAccessInit() method of the AuthzSubsystem.The accessInfo format is determined by each individual authzmgr. For example, for BasicAclAuthz, The accessInfo is the resACLs, whose format should conform to the following:
:right-1[,right-n]:[allow,deny](right(s)) = : Example: resTurnKnob:left,right:allow(left) group="lefties":door knobs for lefties
- Specified by:
accessInitin interfaceIAuthzManager- Parameters:
accessInfo- the access info string in the format specified in the authorization manager- Throws:
EBaseException- error parsing the accessInfo
-
authorize
public AuthzToken authorize(IAuthToken authToken, java.lang.String resource, java.lang.String operation) throws EAuthzInternalError, EAuthzAccessDenied
Description copied from interface:IAuthzManagerCheck if the user is authorized to perform the given operation on the given resource.- Specified by:
authorizein interfaceIAuthzManager- Parameters:
authToken- the authToken associated with a user.resource- - the protected resource nameoperation- - the protected resource operation name- Returns:
- authzToken if the user is authorized
- Throws:
EAuthzInternalError- if an internal error occurred.EAuthzAccessDenied- if access denied
-
authorize
public AuthzToken authorize(IAuthToken authToken, java.lang.String expression) throws EAuthzInternalError, EAuthzAccessDenied
- Specified by:
authorizein interfaceIAuthzManager- Throws:
EAuthzInternalErrorEAuthzAccessDenied
-
init
public void init(java.lang.String name, java.lang.String implName, AuthzManagerConfig config) throws EBaseExceptionDescription copied from interface:IAuthzManagerInitialize this authorization manager.- Specified by:
initin interfaceIAuthzManager- Parameters:
name- The name of this authorization manager instance.implName- The name of the authorization manager plugin.config- The configuration store for this authorization manager.- Throws:
EBaseException- If an initialization error occurred.
-
shutdown
public void shutdown()
Description copied from interface:IAuthzManagerPrepare this authorization manager for a graceful shutdown. Called when the server is exiting for any cleanup needed.- Specified by:
shutdownin interfaceIAuthzManager
-
getConfigParams
public java.lang.String[] getConfigParams() throws EBaseExceptionDescription copied from interface:IAuthzManagerGet configuration parameters for this implementation. The configuration parameters returned is passed to the console so configuration for instances of this implementation can be made through the console.- Specified by:
getConfigParamsin interfaceIAuthzManager- Returns:
- a list of names for configuration parameters.
- Throws:
EBaseException- If an internal error occurred
-
getConfigStore
public AuthzManagerConfig getConfigStore()
Description copied from interface:IAuthzManagerGet the configuration store for this authorization manager.- Specified by:
getConfigStorein interfaceIAuthzManager- Returns:
- The configuration store of this authorization manager.
-
getACLs
public java.util.Enumeration<IACL> getACLs()
Description copied from interface:IAuthzManagerGet ACL entries- Specified by:
getACLsin interfaceIAuthzManager- Returns:
- enumeration of ACL entries.
-
getACL
public IACL getACL(java.lang.String target)
Description copied from interface:IAuthzManagerGet individual ACL entry for the given name of entry.- Specified by:
getACLin interfaceIAuthzManager- Parameters:
target- The name of the ACL entry- Returns:
- The ACL entry.
-
updateACLs
public void updateACLs(java.lang.String id, java.lang.String rights, java.lang.String strACLs, java.lang.String desc) throws EACLsExceptionDescription copied from interface:IAuthzManagerUpdate ACLs in the database- Specified by:
updateACLsin interfaceIAuthzManager- Parameters:
id- The name of the ACL entry (ie, resource id)rights- The allowable rights for this resourcestrACLs- The value of the ACL entrydesc- The description for this resource- Throws:
EACLsException- when update fails.
-
aclEvaluatorElements
public java.util.Enumeration<IAccessEvaluator> aclEvaluatorElements()
Description copied from interface:IAuthzManagerGet all registered evaluators.- Specified by:
aclEvaluatorElementsin interfaceIAuthzManager- Returns:
- All registered evaluators.
-
registerEvaluator
public void registerEvaluator(java.lang.String type, IAccessEvaluator evaluator)Description copied from interface:IAuthzManagerRegister new evaluator- Specified by:
registerEvaluatorin interfaceIAuthzManager- Parameters:
type- Type of evaluatorevaluator- Value of evaluator
-
getAccessEvaluators
public java.util.Hashtable<java.lang.String,IAccessEvaluator> getAccessEvaluators()
Description copied from interface:IAuthzManagerReturn a table of evaluators- Specified by:
getAccessEvaluatorsin interfaceIAuthzManager- Returns:
- A table of evaluators
-
-