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

Review request for ranger, Abhay Kulkarni, Madhan Neethiraj, Nikhil P, Pradeep 
Agrawal, Ramesh Mani, Selvamohan Neethiraj, Sailaja Polavarapu, and Velmurugan 
Periasamy.


Bugs: RANGER-3825
    https://issues.apache.org/jira/browse/RANGER-3825


Repository: ranger


Description
-------

**Problem statement:** Ranger admin user is unable to change another user email 
after the upgrade. This could be due to that stored password can be in md5 
format and the new code checks the sha256 algorithm only.

Request: 
curl --insecure -X POST -H "Accept: application/json" -H "Content-Type: 
application/json" -d '{"status": 1, "oldPassword": "Password@123", "firstName": 
"first_name_test_user_ranger_up_03", "groupPermissions": [], "userSource": 0, 
"lastName": "last_name_test_userranger_up_03", "createDate": null, 
"publicScreenName": "first_name_test_user_ranger_up_03 
last_name_test_userranger_up_03", "emailAddress": "[email protected]", 
"updateDate": null, "userRoleList": ["ROLE_USER"], "userPermList": [], "id": 
102, "loginId": "ranger_up_03"}' -u 'admin:admin123' 
http://localhost:6080/service/users/102/emailchange

Response: 
Error message: 
{"statusCode":1,"msgDesc":"serverMsg.userMgrWrongPassword","messageList":[{"name":"OPER_NO_PERMISSION","rbKey":"xa.error.oper_no_permission","message":"User
 doesn't have permission to perform this operation"}]}

**Proposed statement:** the changeEmailAddress method can have additional check 
for md5 encrption if sha256 encryption check is failing.


Diffs
-----

  security-admin/src/main/java/org/apache/ranger/biz/UserMgr.java 086c6e5d7 


Diff: https://reviews.apache.org/r/74146/diff/1/


Testing
-------

Tested the change with this patch and curl request to update email was 
successful. Ranger build with testcases passed. 

Request: 
curl --insecure -X POST -H "Accept: application/json" -H "Content-Type: 
application/json" -d '{"status": 1, "oldPassword": "Password@123", "firstName": 
"first_name_test_user_ranger_up_03", "groupPermissions": [], "userSource": 0, 
"lastName": "last_name_test_userranger_up_03", "createDate": null, 
"publicScreenName": "first_name_test_user_ranger_up_03 
last_name_test_userranger_up_03", "emailAddress": "[email protected]", 
"updateDate": null, "userRoleList": ["ROLE_USER"], "userPermList": [], "id": 
102, "loginId": "ranger_up_03"}' -u 'admin:admin123' 
http://localhost:6080/service/users/102/emailchange

Response: 
{"id":102,"createDate":null,"updateDate":null,"loginId":"ranger_up_03","status":1,"emailAddress":"[email protected]","firstName":"first_name_test_user_ranger_up_03","lastName":"last_name_test_userranger_up_03","publicScreenName":"first_name_test_user_ranger_up_03
 
last_name_test_userranger_up_03","userSource":0,"userRoleList":["ROLE_USER"],"userPermList":[],"groupPermissions":[]}


Thanks,

Pradeep Agrawal

Reply via email to