6.2.6. Группы доступа

Группы доступа позволяют организовывать пользователей в иерархическую структуру для установки ограничений и для присвоения произвольных атрибутов сессии.

Пользователь может быть причислен только к одной группе, однако он получит список ограничений и атрибутов сессии от всех групп вверх по иерархии.

Группы доступа могут быть заданы в коде приложения или во время выполнения в экране Administration > Access Groups. В первом случае необходимо создать классы, расширяющие AnnotatedAccessGroupDefinition и добавить аннотацию @AccessGroup с указанием родительской группы в атрибуте parent. Классы должны быть расположены в модуле core. Например:

@AccessGroup(name = "Root")
public class RootGroup extends AnnotatedAccessGroupDefinition {
    // definitions of constraints and session attributes
}
@AccessGroup(name = "Sales", parent = RootGroup.class)
public class Sales extends AnnotatedAccessGroupDefinition {
    // definitions of constraints and session attributes
}