RANGER-967 : Allow additional characters in username 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/b48e0a3f Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/b48e0a3f Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/b48e0a3f Branch: refs/heads/master Commit: b48e0a3f93b7f144287465e95e22dbc8002c6ba4 Parents: d501faa Author: Gautam Borad <[email protected]> Authored: Tue May 10 17:08:05 2016 +0530 Committer: Velmurugan Periasamy <[email protected]> Committed: Mon May 16 11:19:14 2016 -0400 ---------------------------------------------------------------------- .../main/webapp/scripts/prelogin/XAPrelogin.js | 3 ++- .../src/main/webapp/scripts/utils/XAUtils.js | 4 ++-- .../scripts/views/policies/PermissionList.js | 18 +++++++++--------- .../scripts/views/policies/RangerPolicyForm.js | 4 ++-- .../main/webapp/scripts/views/users/UserForm.js | 4 ++-- 5 files changed, 17 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/b48e0a3f/security-admin/src/main/webapp/scripts/prelogin/XAPrelogin.js ---------------------------------------------------------------------- diff --git a/security-admin/src/main/webapp/scripts/prelogin/XAPrelogin.js b/security-admin/src/main/webapp/scripts/prelogin/XAPrelogin.js index f54246f..16e398b 100644 --- a/security-admin/src/main/webapp/scripts/prelogin/XAPrelogin.js +++ b/security-admin/src/main/webapp/scripts/prelogin/XAPrelogin.js @@ -45,7 +45,8 @@ function doLogin() { } var regexEmail = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; - var regexPlain = /^([a-zA-Z0-9_\.\-\+@/ ])+$/; + var regexPlain = /^[a-z0-9][a-z0-9,._\-'+/@= ]+$/i; + if(!regexPlain.test(userName)){ if(!regexEmail.test(userName)){ $('#errorBox .errorMsg').text("Invalid username."); http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/b48e0a3f/security-admin/src/main/webapp/scripts/utils/XAUtils.js ---------------------------------------------------------------------- diff --git a/security-admin/src/main/webapp/scripts/utils/XAUtils.js b/security-admin/src/main/webapp/scripts/utils/XAUtils.js index 71b01a3..e2aab57 100644 --- a/security-admin/src/main/webapp/scripts/utils/XAUtils.js +++ b/security-admin/src/main/webapp/scripts/utils/XAUtils.js @@ -598,9 +598,9 @@ define(function(require) { _.each(policyItems, function(obj) { var groupNames = null, userNames = null; if (!_.isEmpty(obj.groups)) - groupNames = obj.groups.join(','); + groupNames = obj.groups; if (!_.isEmpty(obj.users)) - userNames = obj.users.join(','); + userNames = obj.users; var m = new Backbone.Model({ groupName : groupNames, userName : userNames, http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/b48e0a3f/security-admin/src/main/webapp/scripts/views/policies/PermissionList.js ---------------------------------------------------------------------- diff --git a/security-admin/src/main/webapp/scripts/views/policies/PermissionList.js b/security-admin/src/main/webapp/scripts/views/policies/PermissionList.js index 45d4d15..788e729 100644 --- a/security-admin/src/main/webapp/scripts/views/policies/PermissionList.js +++ b/security-admin/src/main/webapp/scripts/views/policies/PermissionList.js @@ -114,10 +114,10 @@ define(function(require) { }); if(this.model.has('editMode') && this.model.get('editMode')){ if(!_.isUndefined(this.model.get('groupName')) && !_.isNull(this.model.get('groupName'))){ - this.ui.selectGroups.val(this.model.get('groupName').split(',')); + this.ui.selectGroups.val(this.model.get('groupName')); } if(!_.isUndefined(this.model.get('userName')) && !_.isNull(this.model.get('userName'))){ - this.ui.selectUsers.val(this.model.get('userName').split(',')); + this.ui.selectUsers.val(this.model.get('userName')); } if(!_.isUndefined(this.model.get('conditions'))){ @@ -167,9 +167,9 @@ define(function(require) { if(e.removed != undefined){ var gNameArr = []; if(that.model.get(name+'Name') != undefined) - gNameArr = _.without(that.model.get(name+'Name').split(','), e.removed.text); + gNameArr = _.without(that.model.get(name+'Name'), e.removed.text); if(!_.isEmpty(gNameArr)){ - that.model.set(name+'Name',gNameArr.join(',')); + that.model.set(name+'Name',gNameArr); } else { that.model.unset(name+'Name'); } @@ -177,7 +177,7 @@ define(function(require) { } if(!_.isUndefined(e.added)){ var nameList = _.map($(e.currentTarget).select2("data"), function(obj){return obj.text}); - that.model.set(name+'Name',nameList.toString()); + that.model.set(name+'Name', nameList); } }); }, @@ -210,10 +210,10 @@ define(function(require) { tokenSeparators: [",", " "], tags : tags, initSelection : function (element, callback) { - var data = []; - $(element.val().split(",")).each(function () { - var obj = _.findWhere(tags,{text:this}); - data.push({id: obj.id, text: this}) + var data = [], names = (typeGroup) ? that.model.get('groupName') : that.model.get('userName'); + _.each(names, function (name) { + var obj = _.findWhere(tags, {text: name }); + data.push({ id : obj.id, text : name }) }); callback(data); }, http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/b48e0a3f/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyForm.js ---------------------------------------------------------------------- diff --git a/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyForm.js b/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyForm.js index ac354fd..ea0cd0e 100644 --- a/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyForm.js +++ b/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyForm.js @@ -406,10 +406,10 @@ define(function(require){ var RangerPolicyItem=Backbone.Model.extend() var policyItem = new RangerPolicyItem(); if(!_.isUndefined(m.get('groupName')) && !_.isNull(m.get('groupName'))){ - policyItem.set("groups",m.get("groupName").split(',')); + policyItem.set("groups",m.get("groupName")); } if(!_.isUndefined(m.get('userName')) && !_.isNull(m.get('userName'))){ - policyItem.set("users",m.get("userName").split(',')); + policyItem.set("users",m.get("userName")); } if(!(_.isUndefined(m.get('conditions')) && _.isEmpty(m.get('conditions')))){ var RangerPolicyItemConditionList = Backbone.Collection.extend(); http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/b48e0a3f/security-admin/src/main/webapp/scripts/views/users/UserForm.js ---------------------------------------------------------------------- diff --git a/security-admin/src/main/webapp/scripts/views/users/UserForm.js b/security-admin/src/main/webapp/scripts/views/users/UserForm.js index 8a8c78b..adf2f8b 100644 --- a/security-admin/src/main/webapp/scripts/views/users/UserForm.js +++ b/security-admin/src/main/webapp/scripts/views/users/UserForm.js @@ -63,8 +63,8 @@ define(function(require){ name : { type : 'Text', title : localization.tt("lbl.userName") +' *', - validators : ['required',{type:'regexp',regexp:/^[a-z0-9][a-z0-9,._\-'+/@]+$/i,message :"Name should start with alpha/numeric letters and can have special characters ,.+_'-/@"}], - editorAttrs :{'maxlength': 32} + validators : ['required',{type:'regexp',regexp:/^[a-z0-9][a-z0-9,._\-'+/@= ]+$/i,message :"Name should start with alpha/numeric letters and can have special characters ,.+_'-/@= and space"}], + editorAttrs :{'maxlength': 255} }, password : { type : 'Password',
