Package digilib.auth

Class IpServletAuthnOps

java.lang.Object
digilib.auth.IpAuthnOps
digilib.auth.IpServletAuthnOps
All Implemented Interfaces:
AuthnOps

public class IpServletAuthnOps extends IpAuthnOps
Implements AuthnOps using IP adresses defined in an XML config file and Servlet API isUserInRole(). 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). Uses ServletRequest.isUserInRole() if roles provided by IP are not sufficient.
  • Field Details

    • logger

      protected static final org.slf4j.Logger logger
  • Constructor Details

    • IpServletAuthnOps

      public IpServletAuthnOps()
  • Method Details

    • hasUserRoles

      public boolean hasUserRoles()
      Description copied from interface: AuthnOps
      Return if the implementation supports getUserRoles().
      Specified by:
      hasUserRoles in interface AuthnOps
      Overrides:
      hasUserRoles in class IpAuthnOps
      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
      Overrides:
      getUserRoles in class IpAuthnOps
      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
      Overrides:
      isUserInRole in class IpAuthnOps
      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.