Class WebSubject.Builder

  • Enclosing interface:
    WebSubject

    public static class WebSubject.Builder
    extends org.apache.shiro.subject.Subject.Builder
    A WebSubject.Builder performs the same function as a Subject.Builder, but additionally ensures that the Servlet request/response pair that is triggering the Subject instance's creation is retained for use by internal Shiro components as necessary.
    • Constructor Summary

      Constructors 
      Constructor Description
      Builder​(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response)
      Constructs a new Web.Builder instance using the SecurityManager obtained by calling SecurityUtils.getSecurityManager().
      Builder​(org.apache.shiro.mgt.SecurityManager securityManager, javax.servlet.ServletRequest request, javax.servlet.ServletResponse response)
      Constructs a new Web.Builder instance using the specified SecurityManager instance to create the WebSubject instance.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      WebSubject buildWebSubject()
      Returns super.buildSubject(), but additionally ensures that the returned instance is an instanceof WebSubject and to support a type-safe method so a caller does not have to cast.
      protected org.apache.shiro.subject.SubjectContext newSubjectContextInstance()
      Overrides the parent implementation to return a new instance of a DefaultWebSubjectContext to account for the additional request/response pair.
      protected WebSubject.Builder setRequest​(javax.servlet.ServletRequest request)
      Called by the WebSubject.Builder constructor, this method places the request object in the context map for later retrieval.
      protected WebSubject.Builder setResponse​(javax.servlet.ServletResponse response)
      Called by the WebSubject.Builder constructor, this method places the response object in the context map for later retrieval.
      • Methods inherited from class org.apache.shiro.subject.Subject.Builder

        authenticated, buildSubject, contextAttribute, getSubjectContext, host, principals, session, sessionCreationEnabled, sessionId
    • Constructor Detail

      • Builder

        public Builder​(javax.servlet.ServletRequest request,
                       javax.servlet.ServletResponse response)
        Constructs a new Web.Builder instance using the SecurityManager obtained by calling SecurityUtils.getSecurityManager(). If you want to specify your own SecurityManager instance, use the Builder(SecurityManager, ServletRequest, ServletResponse) constructor instead.
        Parameters:
        request - the incoming ServletRequest that will be associated with the built WebSubject instance.
        response - the outgoing ServletRequest paired with the ServletRequest that will be associated with the built WebSubject instance.
      • Builder

        public Builder​(org.apache.shiro.mgt.SecurityManager securityManager,
                       javax.servlet.ServletRequest request,
                       javax.servlet.ServletResponse response)
        Constructs a new Web.Builder instance using the specified SecurityManager instance to create the WebSubject instance.
        Parameters:
        securityManager - the SecurityManager SecurityManager instance to use to build the WebSubject instance.
        request - the incoming ServletRequest that will be associated with the built WebSubject instance.
        response - the outgoing ServletRequest paired with the ServletRequest that will be associated with the built WebSubject instance.
    • Method Detail

      • newSubjectContextInstance

        protected org.apache.shiro.subject.SubjectContext newSubjectContextInstance()
        Overrides the parent implementation to return a new instance of a DefaultWebSubjectContext to account for the additional request/response pair.
        Overrides:
        newSubjectContextInstance in class org.apache.shiro.subject.Subject.Builder
        Returns:
        a new instance of a DefaultWebSubjectContext to account for the additional request/response pair.
      • setRequest

        protected WebSubject.Builder setRequest​(javax.servlet.ServletRequest request)
        Called by the WebSubject.Builder constructor, this method places the request object in the context map for later retrieval.
        Parameters:
        request - the incoming ServletRequest that triggered the creation of the WebSubject instance.
        Returns:
        'this' for method chaining.
      • setResponse

        protected WebSubject.Builder setResponse​(javax.servlet.ServletResponse response)
        Called by the WebSubject.Builder constructor, this method places the response object in the context map for later retrieval.
        Parameters:
        response - the outgoing ServletRequest paired with the ServletRequest that triggered the creation of the WebSubject instance.
        Returns:
        'this' for method chaining.
      • buildWebSubject

        public WebSubject buildWebSubject()
        Returns super.buildSubject(), but additionally ensures that the returned instance is an instanceof WebSubject and to support a type-safe method so a caller does not have to cast. Per the parent class's method JavaDoc, this method will return a new instance each time it is called.
        Returns:
        a new WebSubject instance built by this Builder.