Class WebSubject.Builder

  • Enclosing interface:
    WebSubject

    public static class WebSubject.Builder
    extends 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 Detail

      • Builder

        public Builder​(SecurityManager securityManager,
                       ServletRequest request,
                       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

      • setRequest

        protected WebSubject.Builder setRequest​(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​(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.