Aktywne Wpisy
![KRZYSZTOF_DZONG_UN](https://wykop.pl/cdn/c3397992/KRZYSZTOF_DZONG_UN_m28t72axiJ,q60.jpg)
KRZYSZTOF_DZONG_UN +147
To przerażające, że pięć dni w tygodniu po 8 godzin harujemy tylko po to, żeby mieć gdzie spać i co jeść. Ten, kto wymyślił obecny system, powinien się smażyć w piekle. 4-dniowy tydzień pracy i gwarantowany dochód podstawowy – tak będzie wyglądała przyszłość. Mam nadzieję, że dożyję tych zmian.
#przegryw #neet #pracbaza #polska
#przegryw #neet #pracbaza #polska
klewerewel +1
#rozowepaski #polska #warszawa #zwiazki #pieklokobiet
Nigdy nie widziałam faceta pchającego wózek z dzieckiem. Dlaczego zawsze jest to matka?
Nigdy nie widziałam faceta pchającego wózek z dzieckiem. Dlaczego zawsze jest to matka?
Zastanawiam się jak w aplikacji opartej o spring boota + spring security + vaadin rozwiązać problem by użytkownik miał dostęp tylko do swoich zasobów z db.
Załóżmy, że mamy aplikację typu CRUD (jakąś todo listę). Pierwotnie zakładałem, żeby w warstwie service wyciągającej zadania użytkownika (po id lub po jakiejś jego nazwie) z repozytorium springowego (w oparciu o hibernate) jakoś wyciagać id zalogowanego użytkownika i przekazywania go do metody (zdefiniowanej w interfejsie implementujacym crud repository) typu getTaskById (zakładając, że każdy rekord w tabeli Tasks ma kolumnę typu owner_id z ID użytkownika do którego należy zadanie).
Pytanie jak się aplikacja zachowa w momencie gdy naraz będzie zalogowanych więcej użytkowników?
A może spring security (podejrzewam, że tak) oferuje już gotowe mechanizmy do rozwiązania tego problemu?
Będę wdzięczny za naprowadzenie na rozwiązanie jak to zrobić dobrze.
#java #programowanie #naukaprogramowania #spring
Komentarz usunięty przez moderatora
@Generyczny_nick: normalnie, każdy z tych użytkowników będzie 'istniał' w obrębie własnego kontekstu.
@Generyczny_nick: Spring Security JEST gotowym mechanizmem do rozwiązywania tego typu problemów:
https://spring.io/guides/topicals/spring-security-architecture
getTodosByUserName(String username)
a w kontrolerze najpierw ze Spring Security pobrać nazwę obecnie zalogowanego użytkownika, a później wywolać w/w metodę i zwrócić wynik.Pamiętaj, że każdy użytkownik ma swoją sesję, więc nazwa użytkownika zwrócona przez Spring Security będzie za każdym razem odzwierciedlała osobę, która wykonała request.
AuthenticationSuccessHandler
i użyć tej implementacji w SecurityConfigu.@Generyczny_nick: Standardowo aplikacje oparte o servlety (w tym spring boot uruchamiany m.in. w oparciu o Tomcata) każde żądanie HTTP obsługuje w osobnym wątku. Twoim zadaniem jest napisanie bezstanowych klas tak aby nie miało znaczenia w jakim wątku wywołasz springowego beana.
Sposobów na autentykację/autoryzację jest kilkadziesiąt i Spring Security pokrywa wszystkie najpopularniejsze.
Spring Security może dać Ci info o