EN · DE · RU · FR · ES

#129: IHKRight.java

plugins/org.projectforge.plugins.ihk/src/main/java/org/projectforge/plugins/ihk/IHKRight.java Контроль доступа, plugins/org.projectforge.plugins.ihk/src/main/java/org/projectforge/plugins/ihk/IHKRight.java 59 строк · 26 кода · 28 комментариев · 5 пустых
Проверка прав доступа для плагина IHK. Расширяет UserRightAccessCheck<TimesheetDO>, чтобы гарантировать, что пользователи могут просматривать и экспортировать только свои собственные табели учёта рабочего времени через отчёт об обучении IHK.

Архитектура

IHKRight регистрируется в IHKPlugin.initialize() через registerRight(new IHKRight()) и управляет всем доступом к данным табелей в контексте модуля IHK.

Конструктор

public IHKRight() {
    super(IHKPluginUserRightId.IHK, UserRightCategory.PLUGINS, UserRightValue.TRUE);
}

Привязывается к значению перечисления IHKPluginUserRightId.IHK (идентификатор "PLUGIN_IHK"), категоризированному как PLUGINS, со значением по умолчанию TRUE (включено для всех пользователей по умолчанию). Это означает, что право отображается в интерфейсе администрирования пользователей в категории «Плагины» и изначально предоставляется каждому.

Логика доступа

Метод hasAccess(PFUserDO user, TimesheetDO obj, TimesheetDO oldObj, OperationType operationType) реализует простую проверку владельца:

Проектные решения

Зависимости

КлассРоль
UserRightAccessCheck<T>Абстрактная база, предоставляющая фреймворк регистрации прав
IHKPluginUserRightId.IHKКонстанта перечисления, идентифицирующая это право в системе
TimesheetDOДоменный объект, который защищает это право

История Git

868d6abb7 2025 -> 2026
63081666f Заголовки исходных файлов: 2024-> 2025.
4efcbd0fb Работа по миграции в процессе...
b6092df09 Авторское право 2023 -> 2024
ab45d51fa Авторское право 2001-2022 -> 2001-2023.
5f7ef41b8 Авторское право 2021 -> 2022
ceb63e8a1 Заголовок исходного кода: (C) 2001-2021.
7c79f1922 Авторское право заголовка исходного кода -> 2020.
45cad02e9 Добавлен плагин IHK (в долгосрочной перспективе заменит плагин "Ihk-Export")