Контроль доступа в Vaadin 14 без Spring - PullRequest
1 голос
/ 13 июля 2020

Пример:

Route - Accessable by (Roles)
LoginView - Any
UserView - User, Admin
AdminView - Admin

Каковы наилучшие методы построения контроля доступа для такого сценария в Vaadin 14? controll настроен.

Кажется, вся документация нацелена на весну. Они упоминают, что vaadin-cdi должен предоставлять помощников, но это не так, поэтому я предполагаю, что это артефакт из Vaadin 8.

Есть намеки на то, что можно использовать JAAS или Shiro, но, похоже, нет никаких примеров или каких-либо документация о том, как их включить.

1 Ответ

2 голосов
/ 13 июля 2020

Вот статья , которую я написал на эту тему. Полный код можно найти на GitHub .

Здесь не используются аннотации, однако он просто проверяет, вошел ли пользователь в систему для каждого представления.

Чтобы используйте аннотации, сначала создайте аннотацию или используйте подходящую. Затем измените ServiceInitListener так, чтобы он, помимо проверки подлинности пользователя, также проверял, имеет ли он надлежащую роль (роли).

Вы получаете представление, к которому осуществляется переход с помощью beforeEnterEvent.getNavigationTarget(), там вы можете извлечь аннотации. Как вы сохраняете и извлекаете роли текущего пользователя, зависит от вашей настройки.

...