-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/48898/#review138747
-----------------------------------------------------------


Ship it!




Ship It!

- Velmurugan Periasamy


On June 18, 2016, 3:19 a.m., Pradeep Agrawal wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/48898/
> -----------------------------------------------------------
> 
> (Updated June 18, 2016, 3:19 a.m.)
> 
> 
> Review request for ranger, Alok Lal, Don Bosco Durai, Gautam Borad, Abhay 
> Kulkarni, Madhan Neethiraj, Ramesh Mani, Selvamohan Neethiraj, and Velmurugan 
> Periasamy.
> 
> 
> Bugs: RANGER-1039
>     https://issues.apache.org/jira/browse/RANGER-1039
> 
> 
> Repository: ranger
> 
> 
> Description
> -------
> 
> **Problem statement: ** User and groups having special characters are not 
> populating in edit policy page and user-group permission section is not 
> rendering permissions. 
> *Example Case:* Ranger admin behavior where one of policy contains username 
> usu+gonzáev
> While loading Edit policy page; each user details are requested using 
> userSearch API by sending username as search filter. 
> observed REST request was : 
> http://localhost:6080/service/xusers/users?page=0&pageSize=25&startIndex=0&name=usu%2Bgonz%C3%A1ev
> At Ranger admin end when request was received; then the same username was 
> received as : usu+gonzáev
> To fetch user details; generated Sql query was : SELECT COUNT(ID) FROM x_user 
> WHERE ((1 = 1) AND LOWER(USER_NAME) LIKE '%usu+gonz??ev%')
> Above SQL query didn't returned any row as provided username did not matches 
> with available username in db; in DB username entry was observed as : 
> 'usu+gonz?ev'
> REST call returned response code 200 with no records; UI end code did not get 
> any response object so it got stuck there.
> **Proposed Solution: ** Rather using user search api; From UI below given 
> APIs can be used to avoid encoded character addition in request.
> API for search based on username : 
> **service/xusers/users/userName/{userName}**
> API for search based on groupname : 
> **service/xusers/groups/groupName/{groupName}**
> 
> 
> Diffs
> -----
> 
>   security-admin/src/main/java/org/apache/ranger/rest/XUserREST.java 1441ff5 
>   security-admin/src/main/webapp/scripts/views/policies/PermissionList.js 
> 44134af 
> 
> Diff: https://reviews.apache.org/r/48898/diff/
> 
> 
> Testing
> -------
> 
> **Steps performed(with patch)**
> 1. Installed and started Ranger admin and Ranger usersync.
> 2. Created a user 'usu+gonzáev' from curl request.
> curl -u admin:admin -p -k --header "Accept:application/json" -H 
> "Content-Type:application/json" -X POST 
> "http://localhost:6080/service/xusers/secure/users"; -d 
> '{"groupIdList":null,"status":1,"userRoleList":["ROLE_USER"],"name":"usu+gonzáev","password":"user1234","firstName":"user4","lastName":"user4","emailAddress":""}'
> 3. Created a group 'usu+gonzáev' 
> curl -u admin:admin -p -k --header "Accept:application/json" -H 
> "Content-Type:application/json" -X POST 
> "http://localhost:6080/service/xusers/secure/groups"; -d 
> '{"name":"usu+gonzáev","description":"usu+gonzáev"}'
> 4. Logged into Ranger admin and created a knox policy.
> 5. Added user 'usu+gonzáev' and group 'usu+gonzáev' in that policy.
> 6. Visited edit policy page of above created knox policy.
> 
> **Expected Behavior:**
> Edit policy page should load and in user-group permission page user/group 
> 'usu+gonzáev' should appear. 
> **Actual Behavior:**
> Edit policy page was loaded without any issue and in user-group permission 
> page user/group 'usu+gonzáev' was appearing.
> 
> 
> Thanks,
> 
> Pradeep Agrawal
> 
>

Reply via email to