You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by sm...@apache.org on 2018/08/28 20:27:27 UTC
directory-fortress-enmasse git commit: FC-239 - implement
ReviewMgl.assignedUsers roleConstraints
Repository: directory-fortress-enmasse
Updated Branches:
refs/heads/master 0117a48c8 -> 8b3c27f76
FC-239 - implement ReviewMgl.assignedUsers roleConstraints
Project: http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/commit/8b3c27f7
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/tree/8b3c27f7
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/diff/8b3c27f7
Branch: refs/heads/master
Commit: 8b3c27f76f60640cb11f34d65ac6a0604c5214c2
Parents: 0117a48
Author: Shawn McKinney <sm...@apache.org>
Authored: Tue Aug 28 15:27:22 2018 -0500
Committer: Shawn McKinney <sm...@apache.org>
Committed: Tue Aug 28 15:27:22 2018 -0500
----------------------------------------------------------------------
.../fortress/rest/FortressService.java | 34 ++++++++++++++++++++
.../fortress/rest/FortressServiceImpl.java | 13 ++++++++
.../directory/fortress/rest/ReviewMgrImpl.java | 23 ++++++++++++-
3 files changed, 69 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/blob/8b3c27f7/src/main/java/org/apache/directory/fortress/rest/FortressService.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/rest/FortressService.java b/src/main/java/org/apache/directory/fortress/rest/FortressService.java
index 4e825bb..cbfc710 100644
--- a/src/main/java/org/apache/directory/fortress/rest/FortressService.java
+++ b/src/main/java/org/apache/directory/fortress/rest/FortressService.java
@@ -2749,6 +2749,40 @@ public interface FortressService
/**
+ * This method returns the data set of all users who are assigned the given role constraint. This searches the User data set for
+ * RoleConstraint relationship. This method does NOT search for hierarchical RBAC Roles relationships.
+ * <h3></h3>
+ * <h4>required parameters</h4>
+ * <ul>
+ * <li>
+ * {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.RoleConstraint} entity
+ * </li>
+ * </ul>
+ * <ul style="list-style-type:none">
+ * <li>
+ * <ul style="list-style-type:none">
+ * <li>
+ * <h5>{@link org.apache.directory.fortress.core.model.RoleConstraint} required parameters</h5>
+ * <ul>
+ * <li>
+ * {@link org.apache.directory.fortress.core.model.RoleConstraint#key} - contains the name to use for the Role
+ * {@link org.apache.directory.fortress.core.model.RoleConstraint#value} - contains the name to use for the Role
+ * targeted for search.
+ * </li>
+ * </ul>
+ * </li>
+ * </ul>
+ * </li>
+ * </ul>
+ *
+ * @param request contains a reference to {@code FortRequest}
+ * @return reference to {@code FortResponse}, {@link FortResponse#entities} contains a reference to a List of type
+ * {@link org.apache.directory.fortress.core.model.User}
+ */
+ FortResponse assignedUsersConstraints( FortRequest request );
+
+
+ /**
* This function returns the set of roles assigned to a given user. The function is valid if and
* only if the user is a member of the USERS data set.
* <h3></h3>
http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/blob/8b3c27f7/src/main/java/org/apache/directory/fortress/rest/FortressServiceImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/rest/FortressServiceImpl.java b/src/main/java/org/apache/directory/fortress/rest/FortressServiceImpl.java
index 5a8b696..04d7694 100644
--- a/src/main/java/org/apache/directory/fortress/rest/FortressServiceImpl.java
+++ b/src/main/java/org/apache/directory/fortress/rest/FortressServiceImpl.java
@@ -816,6 +816,19 @@ public class FortressServiceImpl implements FortressService
* {@inheritDoc}
*/
@POST
+ @Path("/" + HttpIds.USER_ASGNED_CONSTRAINTS + "/")
+ @RolesAllowed({SUPER_USER, REVIEW_MGR_USER})
+ @Override
+ public FortResponse assignedUsersConstraints( FortRequest request )
+ {
+ return reviewMgrImpl.assignedUsersConstraints( request );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @POST
@Path("/" + HttpIds.ROLE_ASGNED + "/")
@RolesAllowed({SUPER_USER, REVIEW_MGR_USER})
@Override
http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/blob/8b3c27f7/src/main/java/org/apache/directory/fortress/rest/ReviewMgrImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/rest/ReviewMgrImpl.java b/src/main/java/org/apache/directory/fortress/rest/ReviewMgrImpl.java
index d1e6051..a80e174 100644
--- a/src/main/java/org/apache/directory/fortress/rest/ReviewMgrImpl.java
+++ b/src/main/java/org/apache/directory/fortress/rest/ReviewMgrImpl.java
@@ -316,7 +316,6 @@ class ReviewMgrImpl extends AbstractMgrImpl
{
List<User> users = reviewMgr.assignedUsers( inRole );
response.setEntities( users );
- response.setEntities( users );
}
}
catch ( SecurityException se )
@@ -328,6 +327,28 @@ class ReviewMgrImpl extends AbstractMgrImpl
}
+ /* No qualifier */ FortResponse assignedUsersConstraints( FortRequest request )
+ {
+ FortResponse response = createResponse();
+
+ try
+ {
+ ReviewMgr reviewMgr = ReviewMgrFactory.createInstance( request.getContextId() );
+ reviewMgr.setAdmin( request.getSession() );
+ Role inRole = (Role) request.getEntity();
+ RoleConstraint inConstraint = (RoleConstraint) request.getEntity2();
+ List<User> users = reviewMgr.assignedUsers( inRole, inConstraint );
+ response.setEntities( users );
+ }
+ catch ( SecurityException se )
+ {
+ createError( response, LOG, se );
+ }
+
+ return response;
+ }
+
+
/* No qualifier */ FortResponse assignedRolesM( FortRequest request )
{
FortResponse response = createResponse();