Repository: incubator-ranger
Updated Branches:
  refs/heads/master 8f77aec59 -> 9fd001cae


RANGER-1028 : Audit log not created for change of Tag based service name

Signed-off-by: Velmurugan Periasamy <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/7e5e9704
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/7e5e9704
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/7e5e9704

Branch: refs/heads/master
Commit: 7e5e9704cb54b4a137de7886acd1324fa5f37910
Parents: 8f77aec
Author: Mehul Parikh <[email protected]>
Authored: Mon Jun 13 14:14:55 2016 +0530
Committer: Velmurugan Periasamy <[email protected]>
Committed: Fri Jun 17 00:10:18 2016 -0400

----------------------------------------------------------------------
 .../java/org/apache/ranger/biz/XUserMgr.java    |  5 ++-
 .../RangerAuthFailureHandler.java               |  3 ++
 .../ranger/service/RangerPolicyService.java     | 35 +++++++++++++++++++-
 .../conf.dist/security-applicationContext.xml   |  2 +-
 .../views/reports/OperationDiffDetail.js        | 10 ++++++
 .../scripts/views/users/UserTableLayout.js      | 20 +++++++++--
 .../webapp/templates/common/ErrorView_tmpl.html |  2 +-
 7 files changed, 71 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/7e5e9704/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java 
b/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
index e897178..ca27580 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
@@ -1053,8 +1053,11 @@ public class XUserMgr extends XUserMgrBase {
                UserSessionBase session = ContextUtil.getCurrentUserSession();
                if (session != null) {
                        if (!session.isUserAdmin()) {
-                               throw 
restErrorUtil.create403RESTException("Operation" + " denied. LoggedInUser=" + 
(session != null ? session.getXXPortalUser().getId() : "Not Logged In")
+                               VXResponse vXResponse = new VXResponse();
+                               
vXResponse.setStatusCode(HttpServletResponse.SC_UNAUTHORIZED);
+                               vXResponse.setMsgDesc("Operation" + " denied. 
LoggedInUser=" + (session != null ? session.getXXPortalUser().getId() : "Not 
Logged In")
                                                + " ,isn't permitted to perform 
the action.");
+                               throw 
restErrorUtil.generateRESTException(vXResponse);
                        }
                } else {
                        VXResponse vXResponse = new VXResponse();

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/7e5e9704/security-admin/src/main/java/org/apache/ranger/security/web/authentication/RangerAuthFailureHandler.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/org/apache/ranger/security/web/authentication/RangerAuthFailureHandler.java
 
b/security-admin/src/main/java/org/apache/ranger/security/web/authentication/RangerAuthFailureHandler.java
index cb4c16a..1859ebc 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/security/web/authentication/RangerAuthFailureHandler.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/security/web/authentication/RangerAuthFailureHandler.java
@@ -91,6 +91,9 @@ ExceptionMappingAuthenticationFailureHandler {
                                }else if(msg.contains("Communications link 
failure")){
                                        
vXResponse.setStatusCode(HttpServletResponse.SC_UNAUTHORIZED);
                                        vXResponse.setMsgDesc("Unable to 
connect to DB..");
+                               }else if(msg.equalsIgnoreCase("User is 
disabled")){
+                                       
vXResponse.setStatusCode(HttpServletResponse.SC_UNAUTHORIZED);
+                                       vXResponse.setMsgDesc("The username or 
password you entered is disable..");
                                }
                        }
                        jsonResp = jsonUtil.writeObjectAsString(vXResponse);

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/7e5e9704/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyService.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyService.java
 
b/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyService.java
index 042c239..4b792de 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyService.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyService.java
@@ -62,6 +62,8 @@ public class RangerPolicyService extends 
RangerPolicyServiceBase<XXPolicy, Range
        public static final String 
DENY_EXCEPTIONS_CLASS_FIELD_NAME="denyExceptions";
        public static final String 
DATAMASK_POLICY_ITEM_CLASS_FIELD_NAME="dataMaskPolicyItems";
        public static final String 
ROWFILTER_POLICY_ITEM_CLASS_FIELD_NAME="rowFilterPolicyItems";
+       public static final String IS_ENABLED_CLASS_FIELD_NAME="isEnabled";
+       public static final String 
IS_AUDIT_ENABLED_CLASS_FIELD_NAME="isAuditEnabled";
 
        static HashMap<String, VTrxLogAttr> trxLogAttrs = new HashMap<String, 
VTrxLogAttr>();
        String actionCreate;
@@ -79,6 +81,7 @@ public class RangerPolicyService extends 
RangerPolicyServiceBase<XXPolicy, Range
                trxLogAttrs.put("denyExceptions", new 
VTrxLogAttr("denyExceptions", "Deny Exceptions", false));
                trxLogAttrs.put("dataMaskPolicyItems", new 
VTrxLogAttr("dataMaskPolicyItems", "Masked Policy Items", false));
                trxLogAttrs.put("rowFilterPolicyItems", new 
VTrxLogAttr("rowFilterPolicyItems", "Row level filter Policy Items", false));
+               trxLogAttrs.put("isAuditEnabled", new 
VTrxLogAttr("isAuditEnabled", "Audit Status", false));
        }
        
        public RangerPolicyService() {
@@ -203,7 +206,10 @@ public class RangerPolicyService extends 
RangerPolicyServiceBase<XXPolicy, Range
                                value = 
processDataMaskPolicyItemsForTrxLog(field.get(vObj));
                        } else if 
(fieldName.equalsIgnoreCase(ROWFILTER_POLICY_ITEM_CLASS_FIELD_NAME)){
                                value = 
processRowFilterPolicyItemForTrxLog(field.get(vObj));
-                       } 
+                       } else if 
(fieldName.equalsIgnoreCase(IS_ENABLED_CLASS_FIELD_NAME)){
+                               value = 
String.valueOf(processIsEnabledClassFieldNameForTrxLog(field.get(vObj)));
+                       
+                       }
                        else {
                                value = "" + field.get(vObj);
                        }
@@ -270,6 +276,10 @@ public class RangerPolicyService extends 
RangerPolicyServiceBase<XXPolicy, Range
                                        if (oldPolicy != null) {
                                                oldValue = 
processRowFilterPolicyItemForTrxLog(oldPolicy.getRowFilterPolicyItems());
                                        }
+                               }else if 
(fieldName.equalsIgnoreCase(IS_ENABLED_CLASS_FIELD_NAME)) {
+                                       if (oldPolicy != null) {
+                                               oldValue = 
String.valueOf(processIsEnabledClassFieldNameForTrxLog(oldPolicy.getIsEnabled()));
+                                       }
                                }
                                if (oldValue == null || 
value.equalsIgnoreCase(oldValue)) {
                                        return null;
@@ -318,7 +328,24 @@ public class RangerPolicyService extends 
RangerPolicyServiceBase<XXPolicy, Range
                                        
if(compareTwoRowFilterPolicyItemList(value, oldValue)) {
                                                return null;
                                        }
+                               } else if 
(fieldName.equalsIgnoreCase(IS_ENABLED_CLASS_FIELD_NAME)) {
+                                       if (oldPolicy != null) {
+                                           
oldValue=processPolicyNameForTrxLog(String.valueOf(oldPolicy.getIsEnabled()));
+                                       }
+                               } else if 
(fieldName.equalsIgnoreCase(IS_AUDIT_ENABLED_CLASS_FIELD_NAME)) {
+                                       if (oldPolicy != null) {
+                                           
oldValue=processPolicyNameForTrxLog(String.valueOf(oldPolicy.getIsAuditEnabled()));
+                                       }
+                               } else if 
(fieldName.equalsIgnoreCase(IS_ENABLED_CLASS_FIELD_NAME)) {
+                                       if(compareTwoPolicyName(value, 
oldValue)) {
+                                           return null;
+                                       }
+                               } else if 
(fieldName.equalsIgnoreCase(IS_AUDIT_ENABLED_CLASS_FIELD_NAME)) {
+                                       if(compareTwoPolicyName(value, 
oldValue)) {
+                                               return null;
+                                       }
                                }
+
                                xTrxLog.setPreviousValue(oldValue);
                                xTrxLog.setNewValue(value);
                        }
@@ -503,6 +530,12 @@ public class RangerPolicyService extends 
RangerPolicyServiceBase<XXPolicy, Range
                }
                return ret;
        }
+       private String processIsEnabledClassFieldNameForTrxLog(Object value){
+               if(value == null)
+                       return null;
+               String isEnabled= String.valueOf(value);
+                       return isEnabled;
+       }
 
        private boolean compareTwoDataMaskingPolicyItemList(String value, 
String oldValue) {
                if (value == null && oldValue == null) {

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/7e5e9704/security-admin/src/main/resources/conf.dist/security-applicationContext.xml
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/resources/conf.dist/security-applicationContext.xml 
b/security-admin/src/main/resources/conf.dist/security-applicationContext.xml
index 13ddb26..43a0cf5 100644
--- 
a/security-admin/src/main/resources/conf.dist/security-applicationContext.xml
+++ 
b/security-admin/src/main/resources/conf.dist/security-applicationContext.xml
@@ -103,7 +103,7 @@ 
http://www.springframework.org/schema/security/spring-security-oauth2-1.0.xsd";>
        <beans:bean id="userContextFormationFilter" 
class="org.apache.ranger.security.web.filter.RangerSecurityContextFormationFilter"/>
 
        <security:jdbc-user-service id="userService" 
data-source-ref="defaultDataSource"
-                       users-by-username-query="select 
LOGIN_ID,PASSWORD,STATUS from x_portal_user where LOGIN_ID=? and STATUS = 1"
+                       users-by-username-query="select 
LOGIN_ID,PASSWORD,STATUS from x_portal_user where LOGIN_ID=?"
                        group-authorities-by-username-query=""
                        authorities-by-username-query="SELECT 
usr.LOGIN_ID,usr_role.USER_ROLE FROM x_portal_user usr,x_portal_user_role 
usr_role
                        WHERE usr.LOGIN_ID=?

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/7e5e9704/security-admin/src/main/webapp/scripts/views/reports/OperationDiffDetail.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/reports/OperationDiffDetail.js 
b/security-admin/src/main/webapp/scripts/views/reports/OperationDiffDetail.js
index d8db847..07879ea 100644
--- 
a/security-admin/src/main/webapp/scripts/views/reports/OperationDiffDetail.js
+++ 
b/security-admin/src/main/webapp/scripts/views/reports/OperationDiffDetail.js
@@ -191,6 +191,16 @@ define(function(require){
                                        if(m.get('action') == 'update' || 
m.get('action') == 'delete')
                                                that.previousConnConfig = 
$.parseJSON(m.get('previousValue'));
                                        configModel = m;
+                               }else if(m.get('attributeName') == "Service 
Status"){
+                                        var newVal = m.get('newValue'), oldVal 
= m.get('previousValue');            
+                                        if(!_.isUndefined(newVal)){
+                                                m.set('newValue', 
$.parseJSON(newVal) ? XAEnums.ActiveStatus.STATUS_ENABLED.label 
+                                                                : 
XAEnums.ActiveStatus.STATUS_DISABLED.label);
+                                        }
+                                        if(!_.isUndefined(oldVal)){
+                                                m.set('previousValue', 
$.parseJSON(oldVal) ? XAEnums.ActiveStatus.STATUS_ENABLED.label 
+                                                                : 
XAEnums.ActiveStatus.STATUS_DISABLED.label);
+                                        }
                                }
                        });
                        if(configModel)

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/7e5e9704/security-admin/src/main/webapp/scripts/views/users/UserTableLayout.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/users/UserTableLayout.js 
b/security-admin/src/main/webapp/scripts/views/users/UserTableLayout.js
index a766705..1a5e8c6 100644
--- a/security-admin/src/main/webapp/scripts/views/users/UserTableLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/users/UserTableLayout.js
@@ -154,14 +154,30 @@ define(function(require){
                                        success : function(){
                                                that.chgFlags = [];
                                                clearCache(collection);
-                                       }
+                                       },
+                                       error : function(resp){
+                                               if(!_.isUndefined(resp) && 
!_.isUndefined(resp.responseJSON) && !_.isUndefined(resp.responseJSON.msgDesc)){
+                                                       
XAUtil.notifyError('Error', resp.responseJSON.msgDesc);
+                                               }else{
+                                                       
XAUtil.notifyError('Error', "Error occunred while updating user");
+                                               }
+                                               
collection.trigger('error','',resp)
+                                       },
                                });
                        } else {
                            collection.setGroupsVisibility(updateReq, {
                                        success : function(){
                                                that.chgFlags = [];
                                                clearCache(collection);
-                                       }
+                                       },
+                                       error : function(resp){
+                                               if(!_.isUndefined(resp) && 
!_.isUndefined(resp.responseJSON) && !_.isUndefined(resp.responseJSON.msgDesc)){
+                                                       
XAUtil.notifyError('Error', resp.responseJSON.msgDesc);
+                                               }else{
+                                                       
XAUtil.notifyError('Error', "Error occunred while updating user");
+                                               }
+                                               
collection.trigger('error','',resp)
+                                       },
                 });
                        }
                },

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/7e5e9704/security-admin/src/main/webapp/templates/common/ErrorView_tmpl.html
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/templates/common/ErrorView_tmpl.html 
b/security-admin/src/main/webapp/templates/common/ErrorView_tmpl.html
index e2f03b2..e565903 100644
--- a/security-admin/src/main/webapp/templates/common/ErrorView_tmpl.html
+++ b/security-admin/src/main/webapp/templates/common/ErrorView_tmpl.html
@@ -23,6 +23,6 @@
                <p>{{moreInfo}}</p>
 
                <a href="javascript:;" class="btn btn-primary btn-small" 
data-id="goBack"><i class="icon-long-arrow-left"></i> Go back</a>&nbsp;&nbsp;
-               <a href="#!/policymanager" class="btn btn-small" 
data-id="home">Home</a>
+               <a href="#!/policymanager/resource" class="btn btn-small" 
data-id="home">Home</a>
 </div>
 </div>

Reply via email to