Messaging функционалност в проекта.
Closed this issue · 4 comments
Здрасти, Лъчо!
Проекта ми е свързан с публикуване на обяви по които може да се кандидатства и бих искал да имплементирам възможността за комуникация между автора на обявата и одобрения кандидат реферираща всяка обява.
Въпроса ми е има ли някаква възможност при кофигурацията на Сприн секюрити да се настрои ендпойта ( в който при всички случаи ще има pathvariable с id-to на обявата) да бъде достъпен само от двете инстанции на UserEntity-тата?
Или тази валидация се прави при GET-заявката на съответното URL, където да проверя примерно ако направя CommunicationEntity (с полета за автор, одобрен кандидат, проект и съобщения) да видя дали принципала има достъп до тази комуникация и ако не - да хвърля грешка съптветно?
Дано ми схващаш идеята. :D
Прилагам линк към проекта ако можеш да се ориентираш по-добре -
https://github.com/rado-bochukov/archviz-arena
Здрасти, Радо!
Амиии... дано я схващам идеята. Мисля, че за този случай може би би било удачно да използваш @PreAuthorize
анотацията. Напомням, правихме демо как се ползва при изтриване на оферта в мобилето където една оферта можеше да се трие от автора и, но и от администратор. Прилагам пример:
@PreAuthorize("@offerServiceImpl.isOwner(#uuid, #principal.username)")
@DeleteMapping("/{uuid}")
public String delete(@PathVariable("uuid") UUID uuid,
@AuthenticationPrincipal UserDetails principal) {
offerService.deleteOffer(uuid);
return "redirect:/offers/all";
}
Мислиш ли, че този подход ще свърше работа за случая ти?
Поздрави,
Л.
Благодаря, ще потърся и прегледам въпросното демо, че основно до сега съм гледал видеа от предишни издания на курса и не съм срещал.
Хубав следобед!
Привет, Лъчо!
Намерих, изгледах и приложих подхода! Получи се супер.
Благодарности!
Супер! Поздрави, Л.