org.apache.shiro.web.subject
Class WebSubject.Builder

java.lang.Object
  extended by org.apache.shiro.subject.Subject.Builder
      extended by org.apache.shiro.web.subject.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 Summary
WebSubject.Builder(SecurityManager securityManager, ServletRequest request, ServletResponse response)
          Constructs a new Web.Builder instance using the specified SecurityManager instance to create the WebSubject instance.
WebSubject.Builder(ServletRequest request, ServletResponse response)
          Constructs a new Web.Builder instance using the SecurityManager obtained by calling SecurityUtils.getSecurityManager().
 
Method Summary
 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  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(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(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 Detail

WebSubject.Builder

public WebSubject.Builder(ServletRequest request,
                          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.

WebSubject.Builder

public WebSubject.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

newSubjectContextInstance

protected 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 Subject.Builder
Returns:
a new instance of a DefaultWebSubjectContext to account for the additional request/response pair.

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.


Copyright © 2004-2016 The Apache Software Foundation. All Rights Reserved.