Interface RestSubjectResolver
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Resolves the current security subject from a REST request.
-
Method Summary
Modifier and TypeMethodDescriptiondefault Optional<RestJSentinelVersionContext> Resolves the session's security-version snapshot forRestJSentinelVersionFilter.default Optional<com.svenruppert.jsentinel.session.SessionMetadata> resolveSessionMetadata(RestRequest request) Resolves session metadata for the current request.Optional<com.svenruppert.jsentinel.authorization.api.JSentinelSubject> resolveSubject(RestRequest request) Resolves the current subject.
-
Method Details
-
resolveSubject
Optional<com.svenruppert.jsentinel.authorization.api.JSentinelSubject> resolveSubject(RestRequest request) Resolves the current subject.- Parameters:
request- request- Returns:
- subject, or empty if no subject is authenticated
-
resolveSessionMetadata
default Optional<com.svenruppert.jsentinel.session.SessionMetadata> resolveSessionMetadata(RestRequest request) Resolves session metadata for the current request.The default returns
Optional.empty()so existing implementations keep working. Implementations that want the REST filters to enforce idle / absolute lifetime viaSessionPolicy.evaluate(SessionMetadata)should override this and return a populated record built from their token store's metadata (creation timestamp, last-activity timestamp).- Parameters:
request- request- Returns:
- metadata for the current request, or empty when the resolver doesn't track session lifetime
-
resolveJSentinelVersionContext
Resolves the session's security-version snapshot forRestJSentinelVersionFilter.The default returns
Optional.empty()so existing implementations keep working — the filter becomes a no-op for them. Override this when your token / session store records theJSentinelVersioncaptured at login time and you want drifted sessions refused with401 + WWW-Authenticate: SessionStale.- Parameters:
request- request- Returns:
- security-version context, or empty when the resolver doesn't track per-session versions
-