Skip to content

KlnSdr/Hades

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

141 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hades

Hades is a simple and easy to use Identity and Access Management (IAM) system based on the dobby webserver and thot object store.

It provides a simple-to-use API for managing users, groups and permissions. As well as a simple web interface for managing users and groups.

The most relevant services available are:

  • PermissionService for when you want to add permissions using code
  • GroupService for when you want to create/assign groups on the fly
  • UserService for when you need to work with user data
  • The AutorizedRouteService and PermissionCheckService can be used to get all routes annotated with @AuthorizedOnly and @PermissionCheck respectively

Rest resources can be marked as @AuthorizedOnly and @PermissionCheck to enable access control. That way you can be sure that only authorized users can access your resources and don't need to check for permissions in your code manually.

The implemented update model ensures that a ready-to-use version of the system is available just by running the jar for the first time. To extend the build in functionality with your own you can define your own updates by implementing the Update interface and restarting the system. All new updates will be applied automatically.

As Hades is based on dobby version ^0.1.2 you can override the default style by placing a style.css file in the static content directory of your project in a subfolder called /hades or /hades/login.

Configuration

  • hades.context: The context path of the Hades web interface. Default: /
  • hades.disableWelcomeMessage: Don't send a message indicating when the system was (re)started to the admin user.
  • hades.enableEncryption: Enable the encryption password that can be used to encrypt sensitive data. Default: false (if set to true the MASTER_KEY environment variable must be set)
  • hades.login.maxAttempts: The maximum number of login attempts before the user is locked out. Default: 5
  • hades.login.lockDuration: The duration in milliseconds a user is locked out after reaching the maximum number of login attempts. Default: 300000
  • hades.login.redirect.success: The URL to redirect to after a successful login. Default: /
  • hades.login.redirect.successAdmin: The URL to redirect to after a successful login of an admin. Default: /
  • hades.apidocs.enabled: Enable the generated api documentation. Default: false
  • hades.apidocs.hideHadesRoutes: Hide the routes of the Hades web interface in the api documentation. Default: false

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors