запрос сервиса Spring-Hibernate / Dao Security Design - PullRequest
0 голосов
/ 14 мая 2011

Я пытаюсь создать различные службы, такие как:

UserService
UserPermissionService
AddressBookService

, которые будут обращаться к дао, таким как:

UserDao
UserPermissionDao
AddressBookDao
CompanyDao

Они будут использовать стек Spring-Hibernate и будут упакованы вбэкенд банку для нескольких веб-приложений.Я хочу, чтобы функциональность службы была доступна в зависимости от разрешения вызывающего пользовательского объекта.Кроме того, объект Caller (пользователь) будет иметь разрешения вызывающего пользователя.

Запрос : Должен ли я передавать Caller каждому вызову метода Service и затем проверять его разрешение?Или есть лучший способ, используя «Spring / AOP» и / или «Factory Pattern», где объект Caller может быть доступен для методов Service.

1 Ответ

2 голосов
/ 14 мая 2011

Одним из шаблонов для этого случая является сохранение токена безопасности в ThreadLocal и требование соответствующей привилегии от этого токена в первую очередь в методе обслуживания.

...