Package digilib.auth

Class IpAuthnOps

  • All Implemented Interfaces:
    AuthnOps
    Direct Known Subclasses:
    IpOpenIdAuthnOps, IpServletAuthnOps

    public class IpAuthnOps
    extends Object
    implements AuthnOps
    Implements AuthnOps using IP adresses defined in an XML config file. The name of the configuration file is read from the digilib config parameter "auth-file". The tag "digilib-adresses" is read from the configuration file:
      
     
     <digilib-addresses>
       <address ip="130.92.68" role="eastwood-coll,ptolemaios-geo" />
       <address ip="130.92.151" role="wtwg" />
       <address ip="0:0:0:0:0:0:0:1" role="local" />
     </digilib-addresses>
     
     
    A computer with an ip address that matches "ip" is automatically granted all roles under "role". The ip address is matched from the left (in full quads). Roles under "role" must be separated by comma only (no spaces).
    • Field Detail

      • logger

        protected static final org.slf4j.Logger logger
        general logger for this class
      • configFile

        protected File configFile
    • Constructor Detail

      • IpAuthnOps

        public IpAuthnOps()
    • Method Detail

      • init

        public void init​(DigilibConfiguration dlConfig)
                  throws AuthOpException
        Initialize authentication operations. Reads tag "digilib-adresses" from configuration file and sets up authentication arrays.
        Specified by:
        init in interface AuthnOps
        Parameters:
        dlConfig - current DigilibConfiguration
        Throws:
        AuthOpException - Exception thrown on error.
      • hasUserRoles

        public boolean hasUserRoles()
        Description copied from interface: AuthnOps
        Return if the implementation supports getUserRoles().
        Specified by:
        hasUserRoles in interface AuthnOps
        Returns:
        true if the implementation supports getUserRoles().
      • getUserRoles

        public List<String> getUserRoles​(DigilibRequest dlRequest)
                                  throws AuthOpException
        Description copied from interface: AuthnOps
        Return the list of roles associated with the user represented by request. Returns null if a list of roles is not available. Users of this API should check hasUserRoles().
        Specified by:
        getUserRoles in interface AuthnOps
        Parameters:
        dlRequest - current DigilibRequest
        Returns:
        list of user's roles
        Throws:
        AuthOpException - Exception thrown on error.
      • isUserInRole

        public boolean isUserInRole​(DigilibRequest dlRequest,
                                    String role)
                             throws AuthOpException
        Description copied from interface: AuthnOps
        Test if the user represented by request has the given role.
        Specified by:
        isUserInRole in interface AuthnOps
        Parameters:
        dlRequest - Request with user information.
        role - role to be tested.
        Returns:
        true if the user has the role.
        Throws:
        AuthOpException - Exception thrown on error.