Size: a a a

Spring Framework and more

2020 January 18

W

Warheart in Spring Framework and more
Ruslan Stelmachenko
Если вкратце, то нужно написать свою имплементацию интерфейса PermissionEvaluator, в которой может быть любая логика. Например, проверяющая, разрешено ли текущему Authentication делать некое действие с неким энтити, у которой некий ID (это все параметры метода hasPermission).
Давно Смотрю чат, ты довольно уверенно все доносишь, где трудишься, где все применяешь, если не секрет
источник

VG

Vladislav Gerasimov in Spring Framework and more
Можно написать свою аннотацию, которая вешается на метод котроллера, в которой можно выполнять все эти проверки ролей, доступов, пермиссий. Похоже будет работать на PreAuthorize
источник

K

Kehlani in Spring Framework and more
Ruslan Stelmachenko
Если вкратце, то нужно написать свою имплементацию интерфейса PermissionEvaluator, в которой может быть любая логика. Например, проверяющая, разрешено ли текущему Authentication делать некое действие с неким энтити, у которой некий ID (это все параметры метода hasPermission).
@PreAuthorize же из коробки поддерживает вызов методов бинов и передачу туда параметров, например:
@PostMapping("/api/v1/chat/{chatId}/messages")
@PreAuthorize("hasRole('USER') and #messagePermissions.canCreateMessage(#chatId)")
fun createMessage(@PathVariable chatId: String,
                 @RequestBody @Valid createMessageRequest: CreateMessageRequest
) = messageService.createMessage(chatId, createMessageRequest)
У меня есть бин messagePermissions и я внутри @PreAuthorize могу вызвать его метод, передав ему нужные параметры. А там уже какая угодно логика может быть))
источник

RS

Ruslan Stelmachenko in Spring Framework and more
Да, так тоже можно.
Как и создать свою аннотацию (как писали выше).
Но зачем, если в спринг-секьюрити уже предусмотрена абстракция hasPermission с довольно удобной семантикой?

В принципе, с вызовом своего бина разницы почти никакой. Ваш способ ничем не хуже. Разве что, hasPermission все же немного более абстрактен. Можно потом, например, заменить реализацию на вызов внешнего сервиса или что-то еще. Реализацию метода своего бина тоже можно, но придется либо править выражение внутри PreAuthorize, либо править все свои *Permissions бины (наверняка же есть не только MessagePermissions).

Но по большому счету, да, то же самое.
источник
2020 January 19

ЮЮ

Юрий Юрий in Spring Framework and more
источник

ЮЮ

Юрий Юрий in Spring Framework and more
Здравствуйте, пожалуйста, подскажите как починить.
Во время создания Spring приложения валятся такие ошибки
источник

ch

central hardware in Spring Framework and more
Юрий Юрий
Здравствуйте, пожалуйста, подскажите как починить.
Во время создания Spring приложения валятся такие ошибки
проингуй
источник

ЮЮ

Юрий Юрий in Spring Framework and more
central hardware
проингуй
что пинговать?
и как?
источник

ch

central hardware in Spring Framework and more
Юрий Юрий
что пинговать?
и как?
источник

ЮЮ

Юрий Юрий in Spring Framework and more
источник

ch

central hardware in Spring Framework and more
Юрий Юрий
теперь то же самое с путем на который ругается
источник

ЮЮ

Юрий Юрий in Spring Framework and more
central hardware
теперь то же самое с путем на который ругается
источник

ch

central hardware in Spring Framework and more
уверены что там что то вообще должно быть?
источник

ЮЮ

Юрий Юрий in Spring Framework and more
Может сервера по Spring 4 уже не поддерживаются,
надо как-то перейти на Spring 5 ?
источник

ch

central hardware in Spring Framework and more
Юрий Юрий
Может сервера по Spring 4 уже не поддерживаются,
надо как-то перейти на Spring 5 ?
если  страница версии есть в мавене то должен качать
источник

ЮЮ

Юрий Юрий in Spring Framework and more
central hardware
уверены что там что то вообще должно быть?
idea стучится туда, значит она знает
источник

ch

central hardware in Spring Framework and more
Юрий Юрий
idea стучится туда, значит она знает
причем тут idea, она всего лишь подскажки делает, заправляет всем maven
источник

ЮЮ

Юрий Юрий in Spring Framework and more
браузер выдает по этой ссылке
501 HTTPS Required.
Use https://repo1.maven.org/maven2/
More information at https://links.sonatype.com/central/501-https-required
источник

ЮЮ

Юрий Юрий in Spring Framework and more
central hardware
причем тут idea, она всего лишь подскажки делает, заправляет всем maven
как настроить мавен, чтобы он обновил свои пути?
источник

VS

Vitaly Sirotkin in Spring Framework and more
Юрий Юрий
Мавен централ больше не работает по хттп
источник