Package org.apache.shiro.web.subject
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.BuilderAWebSubject.Builderperforms the same function as aSubject.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 newWeb.Builderinstance using theSecurityManagerobtained by callingSecurityUtils.getSecurityManager().Builder(org.apache.shiro.mgt.SecurityManager securityManager, javax.servlet.ServletRequest request, javax.servlet.ServletResponse response)Constructs a newWeb.Builderinstance using the specifiedSecurityManagerinstance to create theWebSubjectinstance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description WebSubjectbuildWebSubject()Returnssuper.buildSubject(), but additionally ensures that the returned instance is aninstanceofWebSubjectand to support a type-safe method so a caller does not have to cast.protected org.apache.shiro.subject.SubjectContextnewSubjectContextInstance()Overrides the parent implementation to return a new instance of aDefaultWebSubjectContextto account for the additional request/response pair.protected WebSubject.BuildersetRequest(javax.servlet.ServletRequest request)Called by theWebSubject.Builderconstructor, this method places the request object in the context map for later retrieval.protected WebSubject.BuildersetResponse(javax.servlet.ServletResponse response)Called by theWebSubject.Builderconstructor, this method places the response object in the context map for later retrieval.
-
-
-
Constructor Detail
-
Builder
public Builder(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response)Constructs a newWeb.Builderinstance using theSecurityManagerobtained by callingSecurityUtils.getSecurityManager(). If you want to specify your own SecurityManager instance, use theBuilder(SecurityManager, ServletRequest, ServletResponse)constructor instead.- Parameters:
request- the incoming ServletRequest that will be associated with the builtWebSubjectinstance.response- the outgoing ServletRequest paired with the ServletRequest that will be associated with the builtWebSubjectinstance.
-
Builder
public Builder(org.apache.shiro.mgt.SecurityManager securityManager, javax.servlet.ServletRequest request, javax.servlet.ServletResponse response)Constructs a newWeb.Builderinstance using the specifiedSecurityManagerinstance to create theWebSubjectinstance.- Parameters:
securityManager- theSecurityManager SecurityManagerinstance to use to build theWebSubjectinstance.request- the incoming ServletRequest that will be associated with the builtWebSubjectinstance.response- the outgoing ServletRequest paired with the ServletRequest that will be associated with the builtWebSubjectinstance.
-
-
Method Detail
-
newSubjectContextInstance
protected org.apache.shiro.subject.SubjectContext newSubjectContextInstance()
Overrides the parent implementation to return a new instance of aDefaultWebSubjectContextto account for the additional request/response pair.- Overrides:
newSubjectContextInstancein classorg.apache.shiro.subject.Subject.Builder- Returns:
- a new instance of a
DefaultWebSubjectContextto account for the additional request/response pair.
-
setRequest
protected WebSubject.Builder setRequest(javax.servlet.ServletRequest request)
Called by theWebSubject.Builderconstructor, this method places the request object in the context map for later retrieval.- Parameters:
request- the incoming ServletRequest that triggered the creation of theWebSubjectinstance.- Returns:
- 'this' for method chaining.
-
setResponse
protected WebSubject.Builder setResponse(javax.servlet.ServletResponse response)
Called by theWebSubject.Builderconstructor, 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 theWebSubjectinstance.- Returns:
- 'this' for method chaining.
-
buildWebSubject
public WebSubject buildWebSubject()
Returnssuper.buildSubject(), but additionally ensures that the returned instance is aninstanceofWebSubjectand 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
WebSubjectinstance built by thisBuilder.
-
-