, SecurityManager
ThreadLocal
ShiroFilter
. doFilterInternal
. Subject
ThreadContext
subject.execute
, , SecurityUtils.getSubject()
null , subject.execute, ShiroFilter, , , .
AbstractShiroFilter.java
protected void doFilterInternal(ServletRequest servletRequest, ServletResponse servletResponse, final FilterChain chain)
throws ServletException, IOException {
...
final Subject subject = createSubject(request, response);
subject.execute(new Callable() {
public Object call() throws Exception {
updateSessionLastAccessTime(request, response);
executeChain(request, response, chain);
return null;
}
});
...
}
, , inject Stateless B
, DI? Guice Spring.