The domain model

Deadbolt has three domain models, all located in the be.objectify.deadbolt.scala.models package - Subject, Role and `Permission. Each is a trait, allowing you to implement it in your preferred style.

  • Subject represents, typically, a user
  • A Role is a single system privilege, e.g. admin, user and so on. A subject can have zero or more roles.
  • A Permission is a can be used with regular expression matching, e.g. a subject with a permission of printers.admin can access a resource constrained to printers., .admin, etc. A subject can have zero or more permissions.