Ramesh Mani created RANGER-2512:
-----------------------------------
Summary: RangerRolesRESTClient for fetching roles by user and
groups
Key: RANGER-2512
URL: https://issues.apache.org/jira/browse/RANGER-2512
Project: Ranger
Issue Type: Bug
Components: Ranger
Affects Versions: 2.0.0
Reporter: Ramesh Mani
Fix For: 2.0.0
RangerRolesRESTClient for fetching roles by user and groups
RESTful end points for this apis:
{code:java}
/service/roles/roles/username/{userName}
/service/roles/roles/groupname/{groupName}
/service/roles/roles/usergroups?userName={userName1}&groupName={groupName1}it&groupName={groupName2}"
{code}
API signature would be
{code:java}
public Set<RangerRole> getRolesByUserName(String userName)
public Set<RangerRole> getRolesByGroupName(String groupName)
public Set<RangerRole> getRolesByUserGroups(String userName, List<String>
groupNames)
{code}
Client call for this would be :
{code:java}
// url -> Ranger Admin url
// sslFile -> file location with SSL config when ranger is in SSL mode.
RangerRolesRESTClient rangerRolesRESTClient = new
RangerRolesRESTClient(url,sslFile);
if (StringUtils.isNotEmpty(userName) &&
StringUtils.isEmpty(groupName)) {
Set<RangerRole> roles =
rangerRolesRESTClient.getRolesByUserName(userName);
System.out.println("Roles for user:" + userName + " => " +
roles);
}
if (StringUtils.isNotEmpty(groupName) &&
StringUtils.isEmpty(userName)) {
Set<RangerRole>roles =
rangerRolesRESTClient.getRolesByGroupName(groupName);
System.out.println("Roles for group:" + groupName + " => " +
roles);
}
if (StringUtils.isNotEmpty(userName) &&
CollectionUtils.isNotEmpty(groupList)) {
Set<RangerRole> roles =
rangerRolesRESTClient.getRolesByUserGroups(userName,groupList);
System.out.println("Roles for user: " + userName + " groups: "
+ groupList + " => " + roles);
}
{code}
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)