Package ch.patchcode.jback.secModel
This package solely contains an abstract security model, i.e., only interfaces.
The sole intention is to layout security relations: What are the fundamental entities, both in the business domain and in the security domain.
In this model, it turned out, the security domain is on top of the business domain (not next to, below, or in it). The business domain is security-unaware (but has a concept of (unprotected) privileges).
In the business domain there are Roles,
Persons, Organisations and
Privileges.
In the security domain there are Users,
Principals and AuthenticationMeans.
-
Interface Summary Interface Description AuthenticationMean A mean by which aPrincipalcan be authenticated.Organisation A body ofPersons, formed for a self-given purpose.Person A person, or individual, as such.Principal<TPerson extends Person,TPrivilege extends Privilege,TAuthenticationMean extends AuthenticationMean> Something that can be authenticated through someAuthenticationMeans and then has somePrivileges.Privilege Some privilege, or permission.Role<TOrganisation extends Organisation,TPerson extends Person,TPrivilege extends Privilege> Some role, taken by a particularPersonin a particularOrganisationwith some particularPrivileges.User<TOrganisation extends Organisation,TPerson extends Person,TPrincipal extends Principal<TPerson,TPrivilege,TAuthenticationMean>,TAuthenticationMean extends AuthenticationMean,TPrivilege extends Privilege,TRole extends Role<TOrganisation,TPerson,TPrivilege>>