¿Cómo obtener un objeto de sesión en ContainerRequest para poder usar la anotación @RolesAllowed (Role_user)?
Estoy construyendo una aplicación usando App Engine con Jersey. Me gustaría usar la anotación@RolesAllowed(Role_user)
Quien permita crear un filtro en la solicitud.
El problema es que necesitamos configurar la clase.SecurityContextFilter
.
Mi objetivo es conseguir elid
del usuario almacenado en una sesión para luego verificar su rol directamente en elfunction : public ContainerRequest filter(ContainerRequest request)
de mi claseSecurityContextFilter
.
Necesito inyectarmeHttpRequest
para obtener la sesión, pero cuando la inyecto obtengo una excepciónJava.lang.Null
.
Quiero obtener un objeto de sesión en la claseContainerRequest
.
¿Cómo puedo hacer esto?
EDITAR:
He encontrado una solución para este problema, pero no sé si está limpio: puede inyectar HttpRequest directamente en la función: isUserInRole (_role). Así que uso esto y obtengo mi ID de usuario por sesión, luego obtengo el usuario de rol. y verifico si coinciden con _role y devuelvo verdadero o falso.