Jak uzyskać obiekt sesji w zapytaniu ContainerRequest, aby mógł użyć adnotacji @RolesAllowed (użytkownik-rola)?
Buduję aplikację za pomocą App Engine z Jersey. Chciałbym skorzystać z adnotacji@RolesAllowed(Role_user)
którzy zezwalają na utworzenie filtru w żądaniu.
Problem polega na tym, że musimy skonfigurować klasęSecurityContextFilter
.
Moim celem jest zdobycieid
użytkownika przechowywanego w sesji, aby następnie sprawdzić jego rolę bezpośrednio wfunction : public ContainerRequest filter(ContainerRequest request)
mojej klasySecurityContextFilter
.
Muszę wstrzyknąćHttpRequest
aby uzyskać sesję, ale kiedy ją wprowadzę, otrzymuję wyjątekJava.lang.Null
.
Chcę uzyskać sesję obiektu w klasieContainerRequest
.
Jak mogę to zrobić?
EDYTOWAĆ:
Mam znaleźć rozwiązanie tego problemu, ale nie wiem, czy jest to czyste: Możesz wstrzyknąć HttpRequest bezpośrednio w funkcji: isUserInRole (_role) Więc używam tego i otrzymuję moje userId przez sesję, a następnie otrzymuję rolę użytkownika i sprawdzam, czy pasuje _role i zwraca prawdę lub fałsz.