Class FlatFileAuth

    • Constructor Summary

      Constructors 
      Constructor Description
      FlatFileAuth()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      IAuthToken authenticate​(IAuthCredentials authCred)
      Authenticate the request
      java.lang.String[] getConfigParams()
      Returns a list of configuration parameters, so the console can prompt the user when configuring.
      AuthManagerConfig getConfigStore()
      Returns the configuration store used by this authentication manager
      java.lang.String[] getExtendedPluginInfo​(java.util.Locale locale)
      This method returns an array of strings.
      java.lang.String getImplName()
      Get name of authentication manager plugin.
      java.lang.String getName()
      Get the name of this authentication manager instance.
      java.lang.String getName​(java.util.Locale locale)
      Retrieves the localizable name of this policy.
      protected boolean getPropertyB​(java.lang.String propertyName, boolean b)
      Get the named property, If the property is not set, use b as the default, and create a new value for the property in the config file.
      protected java.lang.String getPropertyS​(java.lang.String propertyName, java.lang.String s)
      Get the named property If the property is not set, use s as the default, and create a new value for the property in the config file.
      java.lang.String[] getRequiredCreds()
      Return a list of HTTP parameters which will be taken from the request posting and placed into the AuthCredentials block Note that this method will not be called until after the init() method is called
      java.lang.String getText​(java.util.Locale locale)
      Retrieves the localizable description of this policy.
      IDescriptor getValueDescriptor​(java.util.Locale locale, java.lang.String name)
      Retrieves the descriptor of the given value property by name.
      java.util.Enumeration<java.lang.String> getValueNames()
      Retrieves a list of names of the value parameter.
      void init​(Profile profile, IConfigStore config)
      Initializes this default policy.
      void init​(java.lang.String name, java.lang.String implName, AuthManagerConfig config)
      Initialize this authentication manager.
      boolean isSSLClientRequired()
      Checks if this authenticator requires SSL client authentication.
      boolean isValueWriteable​(java.lang.String name)
      Checks if the value of the given property should be serializable into the request.
      void populate​(IAuthToken token, IRequest request)
      Populates authentication specific information into the request for auditing purposes.
      protected java.util.Hashtable<java.lang.String,​java.util.Hashtable<java.lang.String,​java.lang.String>> readFile​(java.io.File f, java.lang.String[] keys)
      Read a file with the following format:
      void shutdown()
      Prepare this authentication manager for a shutdown.
      java.lang.String[] unionOfStrings​(java.lang.String[][] stringArrays)
      Return a string array which is the union of all the string arrays passed in.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • logger

        public static org.slf4j.Logger logger
      • PROP_KEYATTRIBUTES

        protected static final java.lang.String PROP_KEYATTRIBUTES
        See Also:
        Constant Field Values
      • PROP_DEFERONFAILURE

        protected static final java.lang.String PROP_DEFERONFAILURE
        See Also:
        Constant Field Values
      • mFilename

        protected java.lang.String mFilename
      • mFileLastRead

        protected long mFileLastRead
      • mKeyAttributes

        protected java.lang.String mKeyAttributes
      • mAuthAttrs

        protected java.lang.String mAuthAttrs
      • mDeferOnFailure

        protected boolean mDeferOnFailure
      • mConfigParams

        protected static java.lang.String[] mConfigParams
      • mName

        protected java.lang.String mName
        name of this authentication manager instance
      • FFAUTH

        protected java.lang.String FFAUTH
      • mImplName

        protected java.lang.String mImplName
        name of the authentication manager plugin
      • entries

        protected java.util.Hashtable<java.lang.String,​java.util.Hashtable<java.lang.String,​java.lang.String>> entries
        Hashtable of entries from Auth File. Hash index is the concatenation of the attributes from matchAttributes property
    • Constructor Detail

      • FlatFileAuth

        public FlatFileAuth()
    • Method Detail

      • getExtendedPluginInfo

        public java.lang.String[] getExtendedPluginInfo​(java.util.Locale locale)
        Description copied from interface: IExtendedPluginInfo
        This 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 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:
        getExtendedPluginInfo in interface IExtendedPluginInfo
      • getPropertyS

        protected java.lang.String getPropertyS​(java.lang.String propertyName,
                                                java.lang.String s)
                                         throws EBaseException
        Get the named property If the property is not set, use s as the default, and create a new value for the property in the config file.
        Parameters:
        propertyName - Property name
        s - The default value of the property
        Throws:
        EBaseException
      • isSSLClientRequired

        public boolean isSSLClientRequired()
        Description copied from interface: ProfileAuthenticator
        Checks if this authenticator requires SSL client authentication.
        Specified by:
        isSSLClientRequired in interface ProfileAuthenticator
        Returns:
        client authentication required or not
      • getPropertyB

        protected boolean getPropertyB​(java.lang.String propertyName,
                                       boolean b)
                                throws EBaseException
        Get the named property, If the property is not set, use b as the default, and create a new value for the property in the config file.
        Parameters:
        propertyName - Property name
        b - The default value of the property
        Throws:
        EBaseException
      • init

        public void init​(java.lang.String name,
                         java.lang.String implName,
                         AuthManagerConfig config)
                  throws EBaseException
        Description copied from interface: AuthManager
        Initialize this authentication manager.
        Specified by:
        init in interface AuthManager
        Parameters:
        name - The name of this authentication manager instance.
        implName - The name of the authentication manager plugin.
        config - The configuration store for this authentication manager.
        Throws:
        EBaseException - If an initialization error occurred.
      • unionOfStrings

        public java.lang.String[] unionOfStrings​(java.lang.String[][] stringArrays)
        Return a string array which is the union of all the string arrays passed in. The strings are treated as case sensitive
      • readFile

        protected java.util.Hashtable<java.lang.String,​java.util.Hashtable<java.lang.String,​java.lang.String>> readFile​(java.io.File f,
                                                                                                                                    java.lang.String[] keys)
                                                                                                                             throws java.io.IOException
        Read a file with the following format:

         param1: valuea
         param2: valueb
         -blank-line-
         param1: valuec
         param2: valued
         
        Parameters:
        f - The file to read
        keys - The parameters to concat together to form the hash key
        Returns:
        a hashtable of hashtables.
        Throws:
        java.io.IOException
      • getRequiredCreds

        public java.lang.String[] getRequiredCreds()
        Return a list of HTTP parameters which will be taken from the request posting and placed into the AuthCredentials block Note that this method will not be called until after the init() method is called
        Specified by:
        getRequiredCreds in interface AuthManager
        Returns:
        The required credential attributes.
      • getConfigParams

        public java.lang.String[] getConfigParams()
        Returns a list of configuration parameters, so the console can prompt the user when configuring.
        Specified by:
        getConfigParams in interface AuthManager
        Returns:
        a list of configuration parameters.
      • shutdown

        public void shutdown()
        Description copied from interface: AuthManager
        Prepare this authentication manager for a shutdown. Called when the server is exiting for any cleanup needed.
        Specified by:
        shutdown in interface AuthManager
      • getName

        public java.lang.String getName()
        Description copied from interface: AuthManager
        Get the name of this authentication manager instance.

        Specified by:
        getName in interface AuthManager
        Returns:
        the name of this authentication manager.
      • getImplName

        public java.lang.String getImplName()
        Description copied from interface: AuthManager
        Get name of authentication manager plugin.

        Specified by:
        getImplName in interface AuthManager
        Returns:
        the name of the authentication manager plugin.
      • getName

        public java.lang.String getName​(java.util.Locale locale)
        Retrieves the localizable name of this policy.
        Specified by:
        getName in interface ProfileAuthenticator
        Parameters:
        locale - end user locale
        Returns:
        localized authenticator name
      • getValueNames

        public java.util.Enumeration<java.lang.String> getValueNames()
        Retrieves a list of names of the value parameter.
        Specified by:
        getValueNames in interface ProfileAuthenticator
        Returns:
        a list of property names
      • isValueWriteable

        public boolean isValueWriteable​(java.lang.String name)
        Description copied from interface: ProfileAuthenticator
        Checks if the value of the given property should be serializable into the request. Passsword or other security-related value may not be desirable for storage.
        Specified by:
        isValueWriteable in interface ProfileAuthenticator
        Parameters:
        name - property name
        Returns:
        true if the property is not security related
      • getValueDescriptor

        public IDescriptor getValueDescriptor​(java.util.Locale locale,
                                              java.lang.String name)
        Description copied from interface: ProfileAuthenticator
        Retrieves the descriptor of the given value property by name.
        Specified by:
        getValueDescriptor in interface ProfileAuthenticator
        Parameters:
        locale - user locale
        name - property name
        Returns:
        descriptor of the requested property
      • getText

        public java.lang.String getText​(java.util.Locale locale)
        Retrieves the localizable description of this policy.
        Specified by:
        getText in interface ProfileAuthenticator
        Parameters:
        locale - end user locale
        Returns:
        localized authenticator description