mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge pull request #1133 from Kamidu/master
Fixing https://github.com/wso2/product-iots/issues/1526
This commit is contained in:
commit
a5a5e72018
@ -604,28 +604,20 @@ public class RoleManagementServiceImpl implements RoleManagementService {
|
||||
private List<String> getRolesFromUserStore(String filter, String userStore) throws UserStoreException {
|
||||
AbstractUserStoreManager userStoreManager = (AbstractUserStoreManager) DeviceMgtAPIUtils.getUserStoreManager();
|
||||
String[] roles;
|
||||
boolean filterRolesByName = (!((filter == null) || filter.isEmpty()));
|
||||
if ((filter == null) || filter.isEmpty()) {
|
||||
filter = "*";
|
||||
}
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Getting the list of user roles");
|
||||
}
|
||||
if (userStore.equals("all")) {
|
||||
roles = userStoreManager.getRoleNames("*", -1, false, true, true);
|
||||
roles = userStoreManager.getRoleNames(filter, -1, true, true, true);
|
||||
} else {
|
||||
roles = userStoreManager.getRoleNames(userStore + "/*", -1, false, true, true);
|
||||
roles = userStoreManager.getRoleNames(userStore + "/" + filter, -1, true, true, true);
|
||||
}
|
||||
// removing all internal roles, roles created for Service-providers and application related roles.
|
||||
List<String> filteredRoles = new ArrayList<>();
|
||||
for (String role : roles) {
|
||||
if (!(role.startsWith("Internal/") || role.startsWith("Authentication/") || role.startsWith(
|
||||
"Application/"))) {
|
||||
if (!filterRolesByName) {
|
||||
filteredRoles.add(role);
|
||||
} else {
|
||||
if (role.contains(filter)) {
|
||||
filteredRoles.add(role);
|
||||
}
|
||||
}
|
||||
}
|
||||
filteredRoles.add(role);
|
||||
}
|
||||
return filteredRoles;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user