Class WebSubject.Builder

java.lang.Object
org.apache.shiro.subject.Subject.Builder
org.apache.shiro.web.subject.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.
Since:
1.0
  • 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

    Modifier and Type
    Method
    Description
    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
    Overrides the parent implementation to return a new instance of a DefaultWebSubjectContext to account for the additional request/response pair.
    setRequest(javax.servlet.ServletRequest request)
    Called by the WebSubject.Builder constructor, this method places the request object in the context map for later retrieval.
    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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • 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 Details

    • 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

      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.