protected AuthenticationInfo buildAuthenticationInfo(Object principal, Object credentials) { Collection<Object> principals = new ArrayList<Object>(3); principals.add(new UserIdPrincipal(USER_ID)); principals.add(new UsernamePrincipal(USERNAME)); principals.add(USER_ID + USERNAME); return new SimpleAuthenticationInfo(principals, PASSWORD, getName()); }
@Override protected AuthenticationInfo buildAuthenticationInfo(Object principal, Object credentials) { String username = (String) principal; UsernamePrincipal customPrincipal = new UsernamePrincipal(username); return new SimpleAccount(customPrincipal, credentials, getName()); } };
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException { SimpleAccount account = (SimpleAccount) super.doGetAuthenticationInfo(token); if (account != null) { SimplePrincipalCollection principals = new SimplePrincipalCollection(); principals.add(new UserIdPrincipal(USER_ID), getName()); principals.add(new UsernamePrincipal(USERNAME), getName()); account.setPrincipals(principals); } return account; }
Principal principal = new UsernamePrincipal("blah"); PrincipalCollection pCollection = new SimplePrincipalCollection(principal, "nullAuthzRealm"); List<Permission> permList = new ArrayList<Permission>();
@Test public void testRealmWithRolePermissionResolver() { Principal principal = new UsernamePrincipal("rolePermResolver"); PrincipalCollection pCollection = new SimplePrincipalCollection(principal, "testRealmWithRolePermissionResolver"); AuthorizingRealm realm = new AllowAllRealm(); realm.setRolePermissionResolver( new RolePermissionResolver() { public Collection<Permission> resolvePermissionsInRole( String roleString ) { Collection<Permission> permissions = new HashSet<Permission>(); if( roleString.equals( ROLE )) { permissions.add( new WildcardPermission( ROLE + ":perm1" ) ); permissions.add( new WildcardPermission( ROLE + ":perm2" ) ); permissions.add( new WildcardPermission( "other:*:foo" ) ); } return permissions; } }); assertTrue( realm.hasRole( pCollection, ROLE ) ); assertTrue( realm.isPermitted( pCollection, ROLE + ":perm1" ) ); assertTrue( realm.isPermitted( pCollection, ROLE + ":perm2" ) ); assertFalse( realm.isPermitted( pCollection, ROLE + ":perm3" ) ); assertTrue( realm.isPermitted( pCollection, "other:bar:foo" ) ); }