Old Release

This documentation covers an old version of Fedora. Looking for another version? See all documentation.

Running Fedora without authorization means that the REST API is available to any request coming from the container and lacks any finer-grained security. This is useful when Fedora is running behind another application that connects to Fedora and implements its own security checks. In addition, this configuration is useful for temporary demonstrations and for running software tests that do not require security.

This configuration does not preclude the use of container authentication to secure Fedora. However, container roles are not used for any further authorization within Fedora. All requests are treated as superusers.

The security bypass for REST endpoint is accomplished by supplying an alternate ModeShape authentication provider. This provider permits all actions at the Modeshape level.

Step-by-Step Configuration

  1. Open your Spring configuration file.
    1. Remove any beans that are instances of org.fcrepo.auth.common.ShiroAuthenticationProvider.
    2. Remove the depends-on attribute from the modeshapeRepofactory bean, if there is one.
  2. Open your web.xml file.
    1. Remove all occurences of "shiroFilter" (<filter> and <filter-mapping>)
    2. Comment out <security-constraint> and <login-config> sections
  3. Open your Modeshape repository configuration file (repository.json).
    1. Under security, configure the BypassSecurityServletAuthenticationProvider, as shown in the example below.
Example repository.json (security section)
"security" : {
  "anonymous" : {
    "roles" : ["readonly","readwrite","admin"],
    "useOnFailedLogin" : false
  },
  "providers" : [
    { "classname" : "org.fcrepo.auth.common.BypassSecurityServletAuthenticationProvider" }
  ]
},