use of org.pentaho.platform.plugin.services.security.userrole.ldap.DefaultLdapUserRoleListService in project pentaho-platform by pentaho.
the class DefaultLdapUserRoleListServiceTest method testGetAuthoritiesForUser1.
/**
* Get the roles of user <code>suzy</code> by extracting the <code>cn</code> token from the <code>uniqueMember</code>
* attribute of the object that matches base of <code>ou=users</code> and filter of <code>(uid={0})</code>.
*
* <p>
* Note that the UserDetailsService used by Spring Security is re-used here.
* </p>
*
* @throws Exception
*/
@Test
public void testGetAuthoritiesForUser1() throws Exception {
// $NON-NLS-1$//$NON-NLS-2$
LdapUserSearch userSearch = getUserSearch("ou=users", "(uid={0})");
LdapUserDetailsService service = new LdapUserDetailsService(userSearch, new NoOpLdapAuthoritiesPopulator());
RolePreprocessingMapper mapper = new RolePreprocessingMapper();
// $NON-NLS-1$
mapper.setRoleAttributes(new String[] { "uniqueMember" });
// $NON-NLS-1$
mapper.setTokenName("cn");
service.setUserDetailsMapper(mapper);
DefaultLdapUserRoleListService userRoleListService = getDefaultLdapUserRoleListService();
userRoleListService.setUserDetailsService(service);
// $NON-NLS-1$
List res = userRoleListService.getRolesForUser(null, "suzy");
// $NON-NLS-1$
assertTrue(res.contains("ROLE_A"));
if (logger.isDebugEnabled()) {
// $NON-NLS-1$
logger.debug("results of getAuthoritiesForUser1(): " + res);
}
}
use of org.pentaho.platform.plugin.services.security.userrole.ldap.DefaultLdapUserRoleListService in project pentaho-platform by pentaho.
the class DefaultLdapUserRoleListServiceTest method testGetAuthoritiesForUser1ForTenant.
@Test
public void testGetAuthoritiesForUser1ForTenant() throws Exception {
ITenant defaultTenant = new Tenant("/pentaho/tenant0", true);
login("suzy", defaultTenant);
// $NON-NLS-1$//$NON-NLS-2$
LdapUserSearch userSearch = getUserSearch("ou=users", "(uid={0})");
LdapUserDetailsService service = new LdapUserDetailsService(userSearch, new NoOpLdapAuthoritiesPopulator());
RolePreprocessingMapper mapper = new RolePreprocessingMapper();
// $NON-NLS-1$
mapper.setRoleAttributes(new String[] { "uniqueMember" });
// $NON-NLS-1$
mapper.setTokenName("cn");
service.setUserDetailsMapper(mapper);
DefaultLdapUserRoleListService userRoleListService = getDefaultLdapUserRoleListService();
userRoleListService.setUserDetailsService(service);
// $NON-NLS-1$
List res = userRoleListService.getRolesForUser(defaultTenant, "suzy");
// $NON-NLS-1$
assertTrue(res.contains("ROLE_A"));
if (logger.isDebugEnabled()) {
// $NON-NLS-1$
logger.debug("results of getAuthoritiesForUser1(): " + res);
}
try {
userRoleListService.getRolesForUser(new Tenant("/pentaho", true), "suzy");
} catch (UnsupportedOperationException uoe) {
assertNotNull(uoe);
}
}
use of org.pentaho.platform.plugin.services.security.userrole.ldap.DefaultLdapUserRoleListService in project pentaho-platform by pentaho.
the class DefaultLdapUserRoleListServiceTest method testGetAllUserNames3.
/**
* Search for all users starting at <code>ou=roles</code>, looking for objects with
* <code>objectClass=organizationalRole</code>, and extracting the <code>uid</code> token of the
* <code>roleOccupant</code> attribute.
*/
@Test
public void testGetAllUserNames3() {
SearchControls con3 = new SearchControls();
// $NON-NLS-1$
con3.setReturningAttributes(new String[] { "roleOccupant" });
LdapSearchParamsFactory paramsFactory = // $NON-NLS-1$ //$NON-NLS-2$
new LdapSearchParamsFactoryImpl("ou=roles", "(objectClass=organizationalRole)", con3);
// $NON-NLS-1$ //$NON-NLS-2$
Transformer transformer3 = new SearchResultToAttrValueList("roleOccupant", "uid");
LdapSearch allUsernamesSearch = new GenericLdapSearch(getContextSource(), paramsFactory, transformer3);
DefaultLdapUserRoleListService userRoleListService = getDefaultLdapUserRoleListService();
userRoleListService.setAllUsernamesSearch(allUsernamesSearch);
List res = userRoleListService.getAllUsers();
// $NON-NLS-1$
assertTrue(res.contains("pat"));
// $NON-NLS-1$
assertTrue(res.contains("tiffany"));
// $NON-NLS-1$
assertTrue(res.contains("admin"));
if (logger.isDebugEnabled()) {
// $NON-NLS-1$
logger.debug("results of getAllUserNames3(): " + res);
}
}
use of org.pentaho.platform.plugin.services.security.userrole.ldap.DefaultLdapUserRoleListService in project pentaho-platform by pentaho.
the class DefaultLdapUserRoleListServiceTest method testGetAuthoritiesForUser2Sorted.
/**
* Same as above except sorted.
*/
@Test
public void testGetAuthoritiesForUser2Sorted() {
// $NON-NLS-1$
DefaultLdapAuthoritiesPopulator populator = new DefaultLdapAuthoritiesPopulator(getContextSource(), "ou=roles");
// $NON-NLS-1$
populator.setGroupRoleAttribute("cn");
// $NON-NLS-1$
populator.setGroupSearchFilter("(roleOccupant={0})");
// $NON-NLS-1$//$NON-NLS-2$
LdapUserSearch userSearch = getUserSearch("ou=users", "(uid={0})");
LdapUserDetailsService service = new LdapUserDetailsService(userSearch, populator);
DefaultLdapUserRoleListService userRoleListService = getDefaultLdapUserRoleListService();
userRoleListService.setUserDetailsService(service);
userRoleListService.setRoleComparator(new DefaultRoleComparator());
// $NON-NLS-1$
List res = userRoleListService.getRolesForUser(null, "suzy");
// $NON-NLS-1$
assertTrue(res.contains("ROLE_POWER_USER"));
if (logger.isDebugEnabled()) {
// $NON-NLS-1$
logger.debug("results of getAuthoritiesForUser2Sorted(): " + res);
}
}
use of org.pentaho.platform.plugin.services.security.userrole.ldap.DefaultLdapUserRoleListService in project pentaho-platform by pentaho.
the class DefaultLdapUserRoleListServiceTest method testGetAllUserNames2.
/**
* Search for all users starting at <code>ou=users</code>, looking for objects with <code>objectClass=person</code>,
* and returning the <code>uniqueMember</code> attribute.
*/
@Test
public void testGetAllUserNames2() {
SearchControls con2 = new SearchControls();
// $NON-NLS-1$
con2.setReturningAttributes(new String[] { "uid" });
// $NON-NLS-1$ //$NON-NLS-2$
LdapSearchParamsFactory paramsFactory = new LdapSearchParamsFactoryImpl("ou=users", "(objectClass=person)", con2);
// $NON-NLS-1$
Transformer transformer2 = new SearchResultToAttrValueList("uid");
LdapSearch allUsernamesSearch = new GenericLdapSearch(getContextSource(), paramsFactory, transformer2);
DefaultLdapUserRoleListService userRoleListService = getDefaultLdapUserRoleListService();
userRoleListService.setAllUsernamesSearch(allUsernamesSearch);
List res = userRoleListService.getAllUsers();
// $NON-NLS-1$
assertTrue(res.contains("pat"));
// $NON-NLS-1$
assertTrue(res.contains("admin"));
if (logger.isDebugEnabled()) {
// $NON-NLS-1$
logger.debug("results of getAllUserNames2(): " + res);
}
}
Aggregations