Spring security @secured метод уже авторизован из другого сервиса - PullRequest
0 голосов
/ 03 мая 2019

Насколько я понимаю, в весенней безопасности вы можете использовать два безопасных метода.У меня может быть только авторизация для одного метода, но если я вхожу через другой метод, для которого у меня действительно есть авторизация, я в порядке ... ЕСЛИ это не для другой службы.Я хотел бы знать, есть ли способ (через настройки или аннотации) оставаться авторизованным даже при вызовах различных служб.

Вот путь для пользователя с ROLE_READ:

Controller -> Svc1.getData -> sv2.lookupUser

Вот другой путь ROLE_ADMIN:

ControllerB -> Sv2.lookupUser

Схема кода:

@Service
class Svc1 {
@Resource
Svc2 svc2
....
@Secured(["ROLE_READ"])
Iterable<Data> getData() {
    //do stuff here
    User user = svc2.lookupUser()
}


@Service
class Svc2 {
....
@Secured(["ROLE_ADMIN"])
User lookupUser() {
    //do stuff here
    user
}

Опять же, я понимаю, что если эти методы находятся в одном и том же Сервисе, это все хорошо.Я знаю, что если я создам другой lookupUserRestricted метод с "ROLE_READ" , я могу делегировать его целевому методу и, таким образом, устранить проблему.Просто любопытно, есть ли альтернатива.

Так что-то вроде

Controller -> Svc1.getData -> ["ROLE_READ"]svc2.lookupUserRestricted -> sv2.lookupUser
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...