This module provide security mechanisms for Apache Marmotta, which implements its own authentication and authorization mechanism.
There are two default users in Marmotta: anonymous and admin. The first one is not an actual user, but the user all anonymous requests use. The second is the user with administration rights on the system.
At the same time, users are group in roles for simplifying permission management. The system comes with three groups (manager, editor and user) by default, but this could be customized as preferred.
For instance, by default the admin user is part of manager, editor and user groups.
There are three pre-defined profiles, simple, standard, and restricted:
By default, Marmotta will use the simple profile, allowing only access from localhost. If you want to change the profile, you can set the configuration property security.profile to standard, e.g. via the configuration interface in “Core Services” or “Security”. If your instance is running on a remote server, you can e.g. log in using SSH and run the following command:
curl -X POST -H "Content-Type: application/json" -d '["standard"]' http://<HOST>:<PORT>/marmotta/config/data/security.profile
Afterwards, you can log in with the default admin user and password (“admin” and “pass123”). Needless to say you should change this password.
The configuration is based on ACL rules such as:
security.{TYPE}.{NAME}.pattern = {PATTERN} security.{TYPE}.{NAME}.methods = {METHOD} security.{TYPE}.{NAME}.priority = {PRIORITY}
Where:
The system evaluates the rules ordered by priority, allowing or rejecting access whenever a rule matches each request to the system. The adminnistration user interface provides an overview page for the status of the current rules applied to the system.