subject.execute(new Callable() { public Object call() throws Exception { updateSessionLastAccessTime(request, response);
return subject.execute(new Callable() { public Object call() throws Exception { return SecureRemoteInvocationExecutor.super.invoke(invocation, targetObject);
@Test public void testExecuteRunnable() { String username = "jsmith"; SecurityManager securityManager = createNiceMock(SecurityManager.class); PrincipalCollection identity = new SimplePrincipalCollection(username, "testRealm"); final Subject sourceSubject = new DelegatingSubject(identity, true, null, null, securityManager); assertNull(ThreadContext.getSubject()); assertNull(ThreadContext.getSecurityManager()); Runnable runnable = new Runnable() { public void run() { Subject callingSubject = SecurityUtils.getSubject(); assertNotNull(callingSubject); assertNotNull(SecurityUtils.getSecurityManager()); assertEquals(callingSubject, sourceSubject); } }; sourceSubject.execute(runnable); assertNull(ThreadContext.getSubject()); assertNull(ThreadContext.getSecurityManager()); }
@Test public void testExecuteCallable() { String username = "jsmith"; SecurityManager securityManager = createNiceMock(SecurityManager.class); PrincipalCollection identity = new SimplePrincipalCollection(username, "testRealm"); final Subject sourceSubject = new DelegatingSubject(identity, true, null, null, securityManager); assertNull(ThreadContext.getSubject()); assertNull(ThreadContext.getSecurityManager()); Callable<String> callable = new Callable<String>() { public String call() throws Exception { Subject callingSubject = SecurityUtils.getSubject(); assertNotNull(callingSubject); assertNotNull(SecurityUtils.getSecurityManager()); assertEquals(callingSubject, sourceSubject); return "Hello " + callingSubject.getPrincipal(); } }; String response = sourceSubject.execute(callable); assertNotNull(response); assertEquals("Hello " + username, response); assertNull(ThreadContext.getSubject()); assertNull(ThreadContext.getSecurityManager()); }
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { Subject subject = SecurityUtils.getSubject(); // trigger call to shiro authorization realm // we use shiro authorization realm to look up groups subject.hasRole("authenticatedUser"); CallableChain callableChain = new CallableChain(request, response, chain); SecurityUtils.getSubject().execute(callableChain); }
@Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { Subject subject = SecurityUtils.getSubject(); // trigger call to shiro authorization realm // we use shiro authorization realm to look up groups subject.hasRole("authenticatedUser"); CallableChain callableChain = new CallableChain(request, response, chain); SecurityUtils.getSubject().execute(callableChain); }
return subject.execute(new Callable() { public Object call() throws Exception { return SecureRemoteInvocationExecutor.super.invoke(invocation, targetObject);