public void testIsUserInRoleCaseInsensitive() throws Exception { final MockHttpServletRequest request = new MockHttpServletRequest(); final MockHttpSession session = new MockHttpSession(); final MockFilterConfig config = new MockFilterConfig(); config.addInitParameter("roleAttribute", "groupMembership"); config.addInitParameter("ignoreCase", "true"); final HttpServletRequestWrapperFilter filter = new HttpServletRequestWrapperFilter(); filter.init(config); final Map<String, Object> attributes = new HashMap<String, Object>(); attributes.put("groupMembership", Arrays.asList(new Object[] { "animals", "ducks" })); final AttributePrincipal principal = new AttributePrincipalImpl("daffy", attributes); session.setAttribute(AbstractCasFilter.CONST_CAS_ASSERTION, new AssertionImpl(principal)); request.setSession(session); filter.doFilter(request, new MockHttpServletResponse(), createFilterChain()); assertEquals("daffy", this.mockRequest.getRemoteUser()); assertTrue(this.mockRequest.isUserInRole("animals")); assertTrue(this.mockRequest.isUserInRole("ANIMALS")); assertTrue(this.mockRequest.isUserInRole("ducks")); assertTrue(this.mockRequest.isUserInRole("DUCKS")); assertFalse(this.mockRequest.isUserInRole("varmints")); assertFalse(this.mockRequest.isUserInRole("")); filter.destroy(); }
public void testIsUserInRole() throws Exception { final MockHttpServletRequest request = new MockHttpServletRequest(); final MockHttpSession session = new MockHttpSession(); final MockFilterConfig config = new MockFilterConfig(); config.addInitParameter("roleAttribute", "memberOf"); final HttpServletRequestWrapperFilter filter = new HttpServletRequestWrapperFilter(); filter.init(config); final Map<String, Object> attributes = new HashMap<String, Object>(); attributes.put("memberOf", "administrators"); final AttributePrincipal principal = new AttributePrincipalImpl("alice", attributes); session.setAttribute(AbstractCasFilter.CONST_CAS_ASSERTION, new AssertionImpl(principal)); request.setSession(session); filter.doFilter(request, new MockHttpServletResponse(), createFilterChain()); assertEquals("alice", this.mockRequest.getRemoteUser()); assertTrue(this.mockRequest.isUserInRole("administrators")); assertFalse(this.mockRequest.isUserInRole("ADMINISTRATORS")); assertFalse(this.mockRequest.isUserInRole("users")); assertFalse(this.mockRequest.isUserInRole(null)); filter.destroy(); }
public void testWrappedRequest() throws Exception { final HttpServletRequestWrapperFilter filter = new HttpServletRequestWrapperFilter(); filter.init(new MockFilterConfig()); final MockHttpServletRequest request = new MockHttpServletRequest(); final MockHttpSession session = new MockHttpSession(); session.setAttribute(AbstractCasFilter.CONST_CAS_ASSERTION, new AssertionImpl("test")); request.setSession(session); filter.doFilter(request, new MockHttpServletResponse(), createFilterChain()); assertEquals("test", this.mockRequest.getRemoteUser()); filter.destroy(); }