Class SecurityContextInjectee

  • All Implemented Interfaces:
    javax.ws.rs.core.SecurityContext

    class SecurityContextInjectee
    extends java.lang.Object
    implements javax.ws.rs.core.SecurityContext
    Proxiable wrapper for request scoped SecurityContext instance.

    This wrapper must be used and cannot be replaced by ReferencingFactory. The reason is that security context can be set many times during the request processing. However, the HK2 proxy caches the first value that is injected. So, if for example any filter injects security context, then this security context will be cached and it will never be replaced for the same request. On the other hand, HK2 should probably cache the first value returned in the request scope to prevent that two subsequent calls done on the proxy will be forwarded to different object if the the object changes in the meantime.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private javax.ws.rs.container.ContainerRequestContext requestContext  
      • Fields inherited from interface javax.ws.rs.core.SecurityContext

        BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
    • Constructor Summary

      Constructors 
      Constructor Description
      SecurityContextInjectee​(javax.ws.rs.container.ContainerRequestContext requestContext)
      Injection constructor.
    • Field Detail

      • requestContext

        private final javax.ws.rs.container.ContainerRequestContext requestContext
    • Constructor Detail

      • SecurityContextInjectee

        @Inject
        public SecurityContextInjectee​(javax.ws.rs.container.ContainerRequestContext requestContext)
        Injection constructor.
        Parameters:
        requestContext - SecurityContext source.
    • Method Detail

      • getUserPrincipal

        public java.security.Principal getUserPrincipal()
        Specified by:
        getUserPrincipal in interface javax.ws.rs.core.SecurityContext
      • isUserInRole

        public boolean isUserInRole​(java.lang.String role)
        Specified by:
        isUserInRole in interface javax.ws.rs.core.SecurityContext
      • isSecure

        public boolean isSecure()
        Specified by:
        isSecure in interface javax.ws.rs.core.SecurityContext
      • getAuthenticationScheme

        public java.lang.String getAuthenticationScheme()
        Specified by:
        getAuthenticationScheme in interface javax.ws.rs.core.SecurityContext
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object that)
        Overrides:
        equals in class java.lang.Object
      • checkState

        private void checkState()