You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ja...@apache.org on 2015/12/05 22:40:51 UTC

[2/2] ambari git commit: Revert "AMBARI-14222. Hide/Show features based on user role"

Revert "AMBARI-14222. Hide/Show features based on user role"

This reverts commit b5041a107947afe3fa95d649887d8ea24b5610e9.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/1efb3abe
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/1efb3abe
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/1efb3abe

Branch: refs/heads/trunk
Commit: 1efb3abed4054bfbde75d5c7987ef7a75c5cc175
Parents: 2fd058f
Author: Jaimin Jetly <ja...@hortonworks.com>
Authored: Sat Dec 5 13:40:21 2015 -0800
Committer: Jaimin Jetly <ja...@hortonworks.com>
Committed: Sat Dec 5 13:40:21 2015 -0800

----------------------------------------------------------------------
 ambari-web/app/app.js                           |  42 +++-
 .../controllers/global/cluster_controller.js    |  16 --
 .../global/user_settings_controller.js          |   2 +-
 .../controllers/main/service/info/configs.js    |   2 +-
 .../app/controllers/wizard/step7_controller.js  |   2 +-
 ambari-web/app/mixins/common/userPref.js        |   2 +-
 ambari-web/app/models/cluster_states.js         |   5 +-
 ambari-web/app/router.js                        |   8 +-
 .../app/routes/add_alert_definition_routes.js   |   2 +-
 ambari-web/app/routes/add_service_routes.js     |   2 +-
 ambari-web/app/routes/installer.js              |   2 +-
 ambari-web/app/routes/main.js                   |   6 +-
 ambari-web/app/templates/application.hbs        |  12 +-
 .../common/configs/config_history_flow.hbs      |  12 +-
 .../common/configs/notifications_configs.hbs    |   8 +-
 .../common/configs/overriddenProperty.hbs       |   4 +-
 .../templates/common/configs/service_config.hbs |   6 +-
 .../common/configs/service_config_category.hbs  |   4 +-
 .../common/configs/service_config_wizard.hbs    |   4 +-
 .../common/configs/service_version_box.hbs      |   4 +-
 .../common/configs/widgets/controls.hbs         |   8 +-
 .../modal_popups/widget_browser_footer.hbs      |   2 +
 .../modal_popups/widget_browser_popup.hbs       |   4 +
 .../templates/common/widget/gauge_widget.hbs    |   2 +
 .../templates/common/widget/graph_widget.hbs    |   2 +
 .../templates/common/widget/number_widget.hbs   |   2 +
 .../templates/common/widget/template_widget.hbs |   2 +
 .../app/templates/main/admin/kerberos.hbs       |  12 +-
 .../main/admin/stack_upgrade/versions.hbs       |   4 +-
 ambari-web/app/templates/main/alerts.hbs        |  24 ++-
 .../main/alerts/definition_details.hbs          |  26 ++-
 ambari-web/app/templates/main/host.hbs          |   4 +-
 .../templates/main/host/bulk_operation_menu.hbs |   4 +-
 ambari-web/app/templates/main/host/details.hbs  |   2 +
 .../main/host/details/host_component.hbs        |  54 ++---
 .../app/templates/main/host/stack_versions.hbs  |   4 +-
 ambari-web/app/templates/main/host/summary.hbs  |  16 +-
 .../main/service/all_services_actions.hbs       |  84 ++++----
 .../app/templates/main/service/info/configs.hbs |   4 +-
 .../app/templates/main/service/info/summary.hbs |   4 +-
 ambari-web/app/templates/main/service/item.hbs  |  56 +++--
 ambari-web/app/utils/ajax/ajax.js               |   4 -
 ambari-web/app/utils/helper.js                  |   8 +-
 ambari-web/app/utils/host_progress_popup.js     |   2 +-
 .../app/views/common/configs/controls_view.js   |   2 +-
 ambari-web/app/views/common/table_view.js       |   4 +-
 .../main/admin/stack_upgrade/services_view.js   |   4 +-
 .../stack_upgrade/upgrade_version_box_view.js   |   4 +-
 ambari-web/app/views/main/host/details.js       |  11 +-
 .../views/main/host/hosts_table_menu_view.js    | 214 +++++++++----------
 ambari-web/app/views/main/menu.js               |   2 +-
 .../app/views/main/service/info/summary.js      |   2 +-
 ambari-web/app/views/main/service/item.js       |   4 +-
 ambari-web/test/app_test.js                     | 117 +++++++++-
 .../test/controllers/experimental_test.js       |   3 +-
 .../admin/stack_and_upgrade_controller_test.js  |   3 +-
 .../test/controllers/wizard/step7_test.js       |  15 ++
 .../admin/stack_upgrade/services_view_test.js   |   8 +-
 .../upgrade_version_box_view_test.js            |  20 +-
 59 files changed, 514 insertions(+), 378 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/app.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/app.js b/ambari-web/app/app.js
index fc27443..0932964 100644
--- a/ambari-web/app/app.js
+++ b/ambari-web/app/app.js
@@ -96,14 +96,22 @@ module.exports = Em.Application.create({
            App.router.get('mainAdminStackAndUpgradeController.isSuspended');
   }.property('upgradeIsRunning', 'upgradeAborted', 'router.wizardWatcherController.isNonWizardUser', 'router.mainAdminStackAndUpgradeController.isSuspended'),
 
-  isAuthorized: function(authRoles, options) {
-    var result = false;
-    authRoles = $.map(authRoles.split(","), $.trim);
-
+  /**
+   * compute user access rights by permission type
+   * types:
+   *  - ADMIN
+   *  - MANAGER
+   *  - OPERATOR
+   *  - ONLY_ADMIN
+   * prefix "upgrade_" mean that element will not be unconditionally blocked while stack upgrade running
+   * @param type {string}
+   * @return {boolean}
+   */
+  isAccessible: function (type) {
     if (!App.router.get('mainAdminStackAndUpgradeController.isSuspended') &&
         !App.get('supports.opsDuringRollingUpgrade') &&
-        !['INIT', 'COMPLETED'].contains(this.get('upgradeState')) ||
-        !App.auth){
+        !['INIT', 'COMPLETED'].contains(this.get('upgradeState')) &&
+        !type.contains('upgrade_')) {
       return false;
     }
 
@@ -111,11 +119,25 @@ module.exports = Em.Application.create({
       return false;
     }
 
-    authRoles.forEach(function(auth) {
-      result = result || App.auth.contains(auth);
-    });
+    if (type.contains('upgrade_')) {
+      //slice off "upgrade_" prefix to have actual permission type
+      type = type.slice(8);
+    }
 
-    return result;
+    switch (type) {
+      case 'ADMIN':
+        return this.get('isAdmin');
+      case 'NON_ADMIN':
+        return !this.get('isAdmin');
+      case 'MANAGER':
+        return this.get('isAdmin') || this.get('isOperator');
+      case 'OPERATOR':
+        return this.get('isOperator');
+      case 'ONLY_ADMIN':
+        return this.get('isAdmin') && !this.get('isOperator');
+      default:
+        return false;
+    }
   },
 
   isStackServicesLoaded: false,

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/controllers/global/cluster_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/global/cluster_controller.js b/ambari-web/app/controllers/global/cluster_controller.js
index 14dcea5..2201730 100644
--- a/ambari-web/app/controllers/global/cluster_controller.js
+++ b/ambari-web/app/controllers/global/cluster_controller.js
@@ -172,7 +172,6 @@ App.ClusterController = Em.Controller.extend(App.ReloadPopupMixin, {
    */
   loadClusterData: function () {
     var self = this;
-    this.loadAuthorizations();
     this.getAllHostNames();
     this.loadAmbariProperties();
     if (!App.get('clusterName')) {
@@ -351,21 +350,6 @@ App.ClusterController = Em.Controller.extend(App.ReloadPopupMixin, {
     });
   },
 
-  loadAuthorizations: function() {
-    App.ajax.send({
-      name: 'router.user.authorizations',
-      sender: this,
-      data: {userName: App.db.getLoginName()},
-      success: 'loadAuthorizationsSuccessCallback'
-    });
-  },
-
-  loadAuthorizationsSuccessCallback: function(response) {
-    if (response.items) {
-      App.auth = response.items.mapProperty('AuthorizationInfo.authorization_id');
-    }
-  },
-
   loadAmbariPropertiesSuccess: function (data) {
     this.set('ambariProperties', data.RootServiceComponents.properties);
     // Absence of 'jdk.name' and 'jce.name' properties says that ambari configured with custom jdk.

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/controllers/global/user_settings_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/global/user_settings_controller.js b/ambari-web/app/controllers/global/user_settings_controller.js
index 8a50059..80d9189 100644
--- a/ambari-web/app/controllers/global/user_settings_controller.js
+++ b/ambari-web/app/controllers/global/user_settings_controller.js
@@ -183,7 +183,7 @@ App.UserSettingsController = Em.Controller.extend(App.UserPref, {
   showSettingsPopup: function() {
     var self = this;
     // Settings only for admins
-    if (!App.isAuthorized('CLUSTER.UPGRADE_DOWNGRADE_STACK')) {
+    if (!App.isAccessible('upgrade_ADMIN')) {
       return;
     }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/controllers/main/service/info/configs.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service/info/configs.js b/ambari-web/app/controllers/main/service/info/configs.js
index d1f8ee4..5079ac5 100644
--- a/ambari-web/app/controllers/main/service/info/configs.js
+++ b/ambari-web/app/controllers/main/service/info/configs.js
@@ -118,7 +118,7 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ConfigsLoader, A
    */
   canEdit: function () {
     return (this.get('selectedVersion') == this.get('currentDefaultVersion') || !this.get('selectedConfigGroup.isDefault'))
-        && !this.get('isCompareMode') && App.isAuthorized('SERVICE.MODIFY_CONFIGS') && !this.get('isHostsConfigsPage');
+        && !this.get('isCompareMode') && App.isAccessible('MANAGER') && !this.get('isHostsConfigsPage');
   }.property('selectedVersion', 'isCompareMode', 'currentDefaultVersion', 'selectedConfigGroup.isDefault'),
 
   serviceConfigs: Em.computed.alias('App.config.preDefinedServiceConfigs'),

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/controllers/wizard/step7_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard/step7_controller.js b/ambari-web/app/controllers/wizard/step7_controller.js
index c9d3da7..bb366d7 100644
--- a/ambari-web/app/controllers/wizard/step7_controller.js
+++ b/ambari-web/app/controllers/wizard/step7_controller.js
@@ -517,7 +517,7 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
    * @method _updateIsEditableFlagForConfig
    */
   _updateIsEditableFlagForConfig: function (serviceConfigProperty, defaultGroupSelected) {
-    if (App.isAuthorized('AMBARI.ADD_DELETE_CLUSTERS')) {
+    if (App.isAccessible('ADMIN')) {
       if (defaultGroupSelected && !this.get('isHostsConfigsPage') && !Em.get(serviceConfigProperty, 'group')) {
         serviceConfigProperty.set('isEditable', serviceConfigProperty.get('isReconfigurable'));
       } else if (Em.get(serviceConfigProperty, 'group') && Em.get(serviceConfigProperty, 'group.name') == this.get('selectedConfigGroup.name')) {

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/mixins/common/userPref.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/common/userPref.js b/ambari-web/app/mixins/common/userPref.js
index 5a531f2..8ebc885 100644
--- a/ambari-web/app/mixins/common/userPref.js
+++ b/ambari-web/app/mixins/common/userPref.js
@@ -80,7 +80,7 @@ App.UserPref = Em.Mixin.create({
    * @param {Object} value
    */
   postUserPref: function (key, value) {
-    if (!App.isAuthorized('CLUSTER.UPGRADE_DOWNGRADE_STACK')) {
+    if (!App.isAccessible('upgrade_ADMIN')) {
       return $.Deferred().reject().promise();
     }
     var keyValuePair = {};

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/models/cluster_states.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/cluster_states.js b/ambari-web/app/models/cluster_states.js
index 78a9b99..8641f1f 100644
--- a/ambari-web/app/models/cluster_states.js
+++ b/ambari-web/app/models/cluster_states.js
@@ -138,7 +138,7 @@ App.clusterStatus = Em.Object.create(App.UserPref, {
       if (response.localdb && !$.isEmptyObject(response.localdb)) {
         this.set('localdb', response.localdb);
         // restore HAWizard data if process was started
-        var isHAWizardStarted = App.isAuthorized('SERVICE.ENABLE_HA') && !App.isEmptyObject(response.localdb.HighAvailabilityWizard);
+        var isHAWizardStarted = App.isAccessible('ADMIN') && !App.isEmptyObject(response.localdb.HighAvailabilityWizard);
         if (params.data.overrideLocaldb || isHAWizardStarted) {
           var localdbTables = (App.db.data.app && App.db.data.app.tables) ? App.db.data.app.tables : {};
           var authenticated = Em.get(App, 'db.data.app.authenticated') || false;
@@ -195,6 +195,9 @@ App.clusterStatus = Em.Object.create(App.UserPref, {
    */
   setClusterStatus: function (newValue, opt) {
     if (App.get('testMode')) return false;
+    if (!App.isAccessible('ADMIN')) {
+      Em.assert('Non-Admin user should not execute setClusterStatus function', true);
+    }
     var user = App.db.getUser();
     var login = App.db.getLoginName();
     var val = {clusterName: this.get('clusterName')};

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/router.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/router.js b/ambari-web/app/router.js
index de765fb..fa147e2 100644
--- a/ambari-web/app/router.js
+++ b/ambari-web/app/router.js
@@ -701,7 +701,7 @@ App.Router = Em.Router.extend({
     adminView: Em.Route.extend({
       route: '/adminView',
       enter: function (router) {
-        if (!router.get('loggedIn') || !App.isAuthorized('CLUSTER.UPGRADE_DOWNGRADE_STACK')) {
+        if (!router.get('loggedIn') || !App.isAccessible('upgrade_ADMIN') || App.isAccessible('upgrade_OPERATOR')) {
           Em.run.next(function () {
             router.transitionTo('login');
           });
@@ -718,7 +718,7 @@ App.Router = Em.Router.extend({
     experimental: Em.Route.extend({
       route: '/experimental',
       enter: function (router, context) {
-        if (App.isAuthorized('CLUSTER.UPGRADE_DOWNGRADE_STACK')) {
+        if (App.isAccessible('upgrade_OPERATOR')) {
           Em.run.next(function () {
             if (router.get('clusterInstallCompleted')) {
               router.transitionTo("main.dashboard.widgets");
@@ -726,14 +726,14 @@ App.Router = Em.Router.extend({
               router.route("installer");
             }
           });
-        } else if (!App.isAuthorized('CLUSTER.UPGRADE_DOWNGRADE_STACK')) {
+        } else if (!App.isAccessible('upgrade_ADMIN')) {
           Em.run.next(function () {
             router.transitionTo("main.views.index");
           });
         }
       },
       connectOutlets: function (router, context) {
-        if (App.isAuthorized('CLUSTER.UPGRADE_DOWNGRADE_STACK')) {
+        if (App.isAccessible('upgrade_ONLY_ADMIN')) {
           App.router.get('experimentalController').loadSupports().complete(function () {
             $('title').text(Em.I18n.t('app.name.subtitle.experimental'));
             router.get('applicationController').connectOutlet('experimental');

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/routes/add_alert_definition_routes.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/routes/add_alert_definition_routes.js b/ambari-web/app/routes/add_alert_definition_routes.js
index c211954..c1b7686 100644
--- a/ambari-web/app/routes/add_alert_definition_routes.js
+++ b/ambari-web/app/routes/add_alert_definition_routes.js
@@ -23,7 +23,7 @@ module.exports = App.WizardRoute.extend({
   route: '/alerts/add',
 
   enter: function (router) {
-    if (App.isAuthorized('SERVICE.TOGGLE_ALERTS')) {
+    if (App.isAccessible('ADMIN')) {
       Em.run.next(function () {
         var addAlertDefinitionController = router.get('addAlertDefinitionController');
         App.router.get('updateController').set('isWorking', false);

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/routes/add_service_routes.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/routes/add_service_routes.js b/ambari-web/app/routes/add_service_routes.js
index 35b06ab..f305b0c 100644
--- a/ambari-web/app/routes/add_service_routes.js
+++ b/ambari-web/app/routes/add_service_routes.js
@@ -23,7 +23,7 @@ module.exports = App.WizardRoute.extend({
   route: '/service/add',
 
   enter: function (router) {
-    if (App.isAuthorized('SERVICE.ADD_DELETE_SERVICES')) {
+    if (App.isAccessible('ADMIN')) {
       // `getSecurityStatus` call is required to retrieve information related to kerberos type: Manual or automated kerberos
       router.get('mainController').isLoading.call(router.get('clusterController'),'isClusterNameLoaded').done(function () {
         App.router.get('mainAdminKerberosController').getSecurityStatus().always(function () {

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/routes/installer.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/routes/installer.js b/ambari-web/app/routes/installer.js
index e37a05d..4fb6c45 100644
--- a/ambari-web/app/routes/installer.js
+++ b/ambari-web/app/routes/installer.js
@@ -40,7 +40,7 @@ module.exports = Em.Route.extend(App.RouterRedirections, {
             $('#main').addClass('install-wizard-content');
 
             App.router.get('mainViewsController').loadAmbariViews();
-            if (App.isAuthorized('AMBARI.ADD_DELETE_CLUSTERS')) {
+            if (App.isAccessible('ADMIN')) {
               router.get('mainController').stopPolling();
               Em.run.next(function () {
                 App.clusterStatus.updateFromServer().complete(function () {

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/routes/main.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/routes/main.js b/ambari-web/app/routes/main.js
index 46315ae..990abb6 100644
--- a/ambari-web/app/routes/main.js
+++ b/ambari-web/app/routes/main.js
@@ -49,7 +49,7 @@ module.exports = Em.Route.extend(App.RouterRedirections, {
                       var currentClusterStatus = App.clusterStatus.get('value');
                       if (router.get('currentState.parentState.name') !== 'views'
                           && currentClusterStatus && self.get('installerStatuses').contains(currentClusterStatus.clusterState)) {
-                        if (App.isAuthorized('AMBARI.ADD_DELETE_CLUSTERS')) {
+                        if (App.isAccessible('ADMIN')) {
                           self.redirectToInstaller(router, currentClusterStatus, false);
                         } else {
                           Em.run.next(function () {
@@ -327,7 +327,7 @@ module.exports = Em.Route.extend(App.RouterRedirections, {
   admin: Em.Route.extend({
     route: '/admin',
     enter: function (router, transition) {
-      if (router.get('loggedIn') && !App.isAuthorized('CLUSTER.UPGRADE_DOWNGRADE_STACK')) {
+      if (router.get('loggedIn') && !App.isAccessible('upgrade_ADMIN')) {
         Em.run.next(function () {
           router.transitionTo('main.dashboard.index');
         });
@@ -335,7 +335,7 @@ module.exports = Em.Route.extend(App.RouterRedirections, {
     },
 
     routePath: function (router, event) {
-      if (!App.isAuthorized('CLUSTER.UPGRADE_DOWNGRADE_STACK')) {
+      if (!App.isAccessible('upgrade_ADMIN')) {
         Em.run.next(function () {
           App.router.transitionTo('main.dashboard.index');
         });

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/application.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/application.hbs b/ambari-web/app/templates/application.hbs
index 190f439..c3877f1 100644
--- a/ambari-web/app/templates/application.hbs
+++ b/ambari-web/app/templates/application.hbs
@@ -63,25 +63,25 @@
                 <li><a href="" id="about" {{action showAboutPopup target="controller"}}>{{t app.aboutAmbari}}</a></li>
                 {{#if App.router.clusterInstallCompleted}}
                   {{#if isClusterDataLoaded}}
-                    {{#isAuthorized "CLUSTER.UPGRADE_DOWNGRADE_STACK"}}
+                    {{#isAccessible upgrade_ONLY_ADMIN}}
                       <li><a href=""
                              id="manage-ambari" {{action goToAdminView target="controller"}}>{{t app.manageAmbari}}</a>
                       </li>
-                    {{/isAuthorized}}
+                    {{/isAccessible}}
                   {{/if}}
                 {{else}}
                   {{#if App.isPermissionDataLoaded}}
-                    {{#isAuthorized "CLUSTER.UPGRADE_DOWNGRADE_STACK"}}
+                    {{#isAccessible upgrade_ONLY_ADMIN}}
                       <li><a href=""
                              id="manage-ambari" {{action goToAdminView target="controller"}}>{{t app.manageAmbari}}</a>
                       </li>
-                    {{/isAuthorized}}
+                    {{/isAccessible}}
                   {{/if}}
                 {{/if}}
                 {{#if isClusterDataLoaded}}
-                  {{#isAuthorized "CLUSTER.UPGRADE_DOWNGRADE_STACK"}}
+                  {{#isAccessible upgrade_ADMIN}}
                     <li><a href="" {{action showSettingsPopup target="App.router.userSettingsController"}}>{{t app.settings}}</a></li>
-                  {{/isAuthorized}}
+                  {{/isAccessible}}
                 {{/if}}
                 {{#if showExitLink}}
                   <li class="break"></li>

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/common/configs/config_history_flow.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/config_history_flow.hbs b/ambari-web/app/templates/common/configs/config_history_flow.hbs
index 027bb5f..4f14920 100644
--- a/ambari-web/app/templates/common/configs/config_history_flow.hbs
+++ b/ambari-web/app/templates/common/configs/config_history_flow.hbs
@@ -29,7 +29,7 @@
 
   </div>
   <div class="version-info-bar-wrapper">
-    {{#isAuthorized "SERVICE.COMPARE_CONFIGS"}}
+    {{#isAccessible MANAGER}}
       <div {{bindAttr class="view.showCompareVersionBar::hidden :version-info-bar"}}>
           <div class="row-fluid">
               <div class="span1 remove-compare-bar" {{action removeCompareVersionBar target="view"}} data-toggle="arrow-tooltip" {{translateAttr data-original-title="services.service.config.configHistory.dismissIcon.tooltip"}}>
@@ -52,7 +52,7 @@
               </div>
           </div>
       </div>
-    {{/isAuthorized}}
+    {{/isAccessible}}
       <div class="version-info-bar">
         <div class="row-fluid">
             <div class="btn-group pull-left">
@@ -79,10 +79,10 @@
                       </div>
                       <div class="version-operations-buttons">
                         <button {{bindAttr disabled="serviceVersion.disabledActionAttr.view" class=":btn serviceVersion.isDisplayed:not-allowed-cursor" title="serviceVersion.disabledActionMessages.view"}} {{action doAction serviceVersion view.actionTypes.SWITCH target="view"}}><i class="icon-search"></i>&nbsp;{{t common.view}}</button>
-                        {{#isAuthorized "SERVICE.COMPARE_CONFIGS"}}
+                        {{#isAccessible MANAGER}}
                           <button {{bindAttr disabled="serviceVersion.disabledActionAttr.compare" class=":btn serviceVersion.isDisplayed:not-allowed-cursor" title="serviceVersion.disabledActionMessages.compare"}} {{action doAction serviceVersion view.actionTypes.COMPARE target="view"}}><i class="icon-copy"></i>&nbsp;{{t common.compare}}</button>
                           <button {{bindAttr disabled="serviceVersion.disabledActionAttr.revert" class=":btn serviceVersion.isCurrent:not-allowed-cursor serviceVersion.isCompatible::hidden" title="serviceVersion.disabledActionMessages.revert"}} {{action doAction serviceVersion view.actionTypes.REVERT target="view"}}>{{t dashboard.configHistory.info-bar.revert.button}}</button>
-                        {{/isAuthorized}}
+                        {{/isAccessible}}
                       </div>
                     </ul>
                   </li>
@@ -108,7 +108,7 @@
                 <strong>{{view.displayedServiceVersion.author}}</strong>&nbsp;{{t dashboard.configHistory.info-bar.authoredOn}}&nbsp;<strong>{{view.displayedServiceVersion.createdDate}}</strong>
               {{/if}}
             </div>
-          {{#isAuthorized "SERVICE.MODIFY_CONFIGS"}}
+          {{#isAccessible MANAGER}}
             <div class="pull-right operations-button">
                 <div {{bindAttr class="view.displayedServiceVersion.isCurrent::hidden"}}>
                     <button class="btn" {{action doCancel target="controller"}} {{bindAttr disabled="view.isDiscardDisabled"}}>{{t common.discard}}</button>
@@ -116,7 +116,7 @@
                 </div>
                 <button class="btn btn-success"  {{action doAction view.serviceVersionsReferences.displayed view.actionTypes.REVERT target="view"}} {{bindAttr disabled="view.versionActionsDisabled" class="view.displayedServiceVersion.canBeMadeCurrent::hidden"}}>{{view.displayedServiceVersion.makeCurrentButtonText}}</button>
             </div>
-          {{/isAuthorized}}
+          {{/isAccessible}}
         </div>
       </div>
   </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/common/configs/notifications_configs.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/notifications_configs.hbs b/ambari-web/app/templates/common/configs/notifications_configs.hbs
index 984bd9a..d58d076 100644
--- a/ambari-web/app/templates/common/configs/notifications_configs.hbs
+++ b/ambari-web/app/templates/common/configs/notifications_configs.hbs
@@ -46,7 +46,7 @@
               {{view viewClass serviceConfigBinding="this" categoryConfigsAllBinding="view.categoryConfigsAll" }}
 
               {{#if isRemovable}}
-                {{#isAuthorized "SERVICE.MODIFY_CONFIGS"}}
+                {{#isAccessible ADMIN}}
                   {{#unless this.isComparison}}
                     <a class="btn-small" href="#" data-toggle="tooltip"
                       {{action "removeProperty" this target="view"}}
@@ -54,7 +54,7 @@
                       <i class="icon-minus-sign"></i>
                     </a>
                   {{/unless}}
-                {{/isAuthorized}}
+                {{/isAccessible}}
               {{/if}}
 
               <span class="help-inline">{{errorMessage}}</span>
@@ -72,7 +72,7 @@
         {{view Ember.RadioButton name="tlsOrSsl" disabledBinding="view.configsAreDisabled" selectionBinding="view.tlsOrSsl" value="ssl"}} {{t installer.step7.misc.notification.use_ssl}}
       </div>
 
-      {{#isAuthorized "SERVICE.MODIFY_CONFIGS"}}
+      {{#isAccessible ADMIN}}
         {{#if view.canEdit}}
           {{#unless view.configsAreDisabled}}
             <div class="entry-row indent-1">
@@ -80,7 +80,7 @@
             </div>
           {{/unless}}
         {{/if}}
-      {{/isAuthorized}}
+      {{/isAccessible}}
     </form>
   </div>
 </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/common/configs/overriddenProperty.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/overriddenProperty.hbs b/ambari-web/app/templates/common/configs/overriddenProperty.hbs
index 9500b90..8a8df0a 100644
--- a/ambari-web/app/templates/common/configs/overriddenProperty.hbs
+++ b/ambari-web/app/templates/common/configs/overriddenProperty.hbs
@@ -42,13 +42,13 @@
             <i class="icon-undo"></i>
           </a>
         {{/if}}
-        {{#isAuthorized "SERVICE.MODIFY_CONFIGS"}}
+        {{#isAccessible ADMIN}}
           <a class="btn-small" href="#" data-toggle="tooltip"
             {{action "removeOverride" overriddenSCP target="view"}}
             {{translateAttr data-original-title="common.remove"}}>
             <i class="icon-minus-sign"></i>
           </a>
-        {{/isAuthorized}}
+        {{/isAccessible}}
           <span class="help-inline">{{overriddenSCP.errorMessage}}</span>
       {{else}}
         <a class="action">{{overriddenSCP.group.switchGroupTextShort}}</a> <i class="icon-spinner"></i>

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/common/configs/service_config.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/service_config.hbs b/ambari-web/app/templates/common/configs/service_config.hbs
index 021b1a3..29b05fe 100644
--- a/ambari-web/app/templates/common/configs/service_config.hbs
+++ b/ambari-web/app/templates/common/configs/service_config.hbs
@@ -70,13 +70,13 @@
         <div class="pull-left spinner"></div>
       {{/if}}
 		</span>
+    {{#isAccessible ADMIN}}
       {{#if controller.isHostsConfigsPage}}
         &nbsp;<a href="#" {{action "switchHostGroup" target="controller"}}>{{t common.change}}</a>
       {{else}}
-        {{#isAuthorized "SERVICE.MANAGE_CONFIG_GROUPS"}}
-            <a href="#" class="link-left-pad" {{action "manageConfigurationGroup" target="controller"}}>{{t services.service.actions.manage_configuration_groups.short}}</a>
-        {{/isAuthorized}}
+        <a href="#" class="link-left-pad" {{action "manageConfigurationGroup" target="controller"}}>{{t services.service.actions.manage_configuration_groups.short}}</a>
       {{/if}}
+    {{/isAccessible}}
     <div class="pull-right">
       {{view App.FilterComboCleanableView filterBinding="view.filter" columnsBinding="view.columns" popoverDescriptionBinding="view.propertyFilterPopover"}}
     </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/common/configs/service_config_category.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/service_config_category.hbs b/ambari-web/app/templates/common/configs/service_config_category.hbs
index 90f78d2..bfd77bd 100644
--- a/ambari-web/app/templates/common/configs/service_config_category.hbs
+++ b/ambari-web/app/templates/common/configs/service_config_category.hbs
@@ -92,7 +92,7 @@
       {{/each}}
 
       {{! For Advanced, Advanced Core Site, Advanced HDFS Site sections, show the 'Add Property' link.}}
-      {{#isAuthorized "SERVICE.MODIFY_CONFIGS"}}
+      {{#isAccessible ADMIN}}
         {{#if view.canEdit}}
           {{#if view.category.customCanAddProperty}}
             <div>
@@ -101,7 +101,7 @@
             </div>
           {{/if}}
         {{/if}}
-      {{/isAuthorized}}
+      {{/isAccessible}}
     </form>
   </div>
 </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/common/configs/service_config_wizard.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/service_config_wizard.hbs b/ambari-web/app/templates/common/configs/service_config_wizard.hbs
index b297d1d..11c8d32 100644
--- a/ambari-web/app/templates/common/configs/service_config_wizard.hbs
+++ b/ambari-web/app/templates/common/configs/service_config_wizard.hbs
@@ -35,13 +35,13 @@
         {{/each}}
       </ul>
 		</span>
-    {{#isAuthorized "SERVICE.MANAGE_CONFIG_GROUPS"}}
+    {{#isAccessible ADMIN}}
       {{#if controller.isHostsConfigsPage}}
         &nbsp;<a href="#" {{action "switchHostGroup" target="controller"}}>{{t common.change}}</a>
       {{else}}
         <a href="#"  class="link-left-pad" {{action "manageConfigurationGroup" target="controller"}}>{{t services.service.actions.manage_configuration_groups.short}}</a>
       {{/if}}
-    {{/isAuthorized}}
+    {{/isAccessible}}
     <div class="pull-right">
       {{view App.FilterComboCleanableView filterBinding="view.filter" columnsBinding="view.columns" popoverDescriptionBinding="view.propertyFilterPopover"}}
     </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/common/configs/service_version_box.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/service_version_box.hbs b/ambari-web/app/templates/common/configs/service_version_box.hbs
index fe5b8b4..e4be74f 100644
--- a/ambari-web/app/templates/common/configs/service_version_box.hbs
+++ b/ambari-web/app/templates/common/configs/service_version_box.hbs
@@ -44,10 +44,10 @@
       </div>
       <div class="version-operations-buttons">
         <button {{bindAttr disabled="view.disabledActionAttr.view" class=":btn view.serviceVersion.isDisplayed:not-allowed-cursor" title="view.disabledActionMessages.view"}} {{action doAction view.serviceVersion view.actionTypes.SWITCH target="view.parentView"}}><i class="icon-search"></i>&nbsp;{{t common.view}}</button>
-        {{#isAuthorized "SERVICE.COMPARE_CONFIGS"}}
+        {{#isAccessible MANAGER}}
           <button {{bindAttr disabled="view.disabledActionAttr.compare" class=":btn view.serviceVersion.isDisplayed:not-allowed-cursor" title="view.disabledActionMessages.compare"}} {{action doAction view.serviceVersion view.actionTypes.COMPARE target="view.parentView"}}><i class="icon-copy"></i>&nbsp;{{t common.compare}}</button>
           <button {{bindAttr disabled="view.disabledActionAttr.revert" class=":btn view.serviceVersion.isCurrent:not-allowed-cursor view.serviceVersion.isCompatible::hidden" title="view.disabledActionMessages.revert"}} {{action doAction view.serviceVersion view.actionTypes.REVERT target="view.parentView"}}>{{t dashboard.configHistory.info-bar.revert.button}}</button>
-        {{/isAuthorized}}
+        {{/isAccessible}}
       </div>
     </div>
   </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/common/configs/widgets/controls.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/widgets/controls.hbs b/ambari-web/app/templates/common/configs/widgets/controls.hbs
index d6278d9..210f942 100644
--- a/ambari-web/app/templates/common/configs/widgets/controls.hbs
+++ b/ambari-web/app/templates/common/configs/widgets/controls.hbs
@@ -69,18 +69,18 @@
       {{/if}}
       {{#unless view.isOriginalSCP}}
         {{#unless view.disabled}}
-          {{#isAuthorized "SERVICE.MODIFY_CONFIGS"}}
+          {{#isAccessible ADMIN}}
             <a {{bindAttr class=":widget-action :widget-action-remove view.isHover:show:hide"}} href="#"
                                                                                                 data-toggle="tooltip"
               {{action "removeOverride" view.config target="view.parentView"}}
               {{translateAttr data-original-title="common.remove"}}>
               <i class="icon-minus-sign"></i>
             </a>
-          {{/isAuthorized}}
+          {{/isAccessible}}
         {{/unless}}
       {{/unless}}
       {{#if view.overrideAllowed}}
-        {{#isAuthorized "SERVICE.MODIFY_CONFIGS"}}
+        {{#isAccessible ADMIN}}
           <div {{bindAttr class=":widget-action :widget-action-override view.isHover:show:hide"}}>
             <a class="widget-action widget-action-override" href="#" data-toggle="tooltip"
               {{action "createOverrideProperty" view.config target="view.parentView"}}
@@ -88,7 +88,7 @@
               <i class="icon-plus-sign"></i>
             </a>
           </div>
-        {{/isAuthorized}}
+        {{/isAccessible}}
       {{/if}}
     </div>
   </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/common/modal_popups/widget_browser_footer.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/modal_popups/widget_browser_footer.hbs b/ambari-web/app/templates/common/modal_popups/widget_browser_footer.hbs
index 3d58948..72c2d80 100644
--- a/ambari-web/app/templates/common/modal_popups/widget_browser_footer.hbs
+++ b/ambari-web/app/templates/common/modal_popups/widget_browser_footer.hbs
@@ -17,9 +17,11 @@
 }}
 
 <div class="modal-footer">
+  {{#isAccessible ADMIN}}
     <label id="footer-checkbox">
       {{view Ember.Checkbox classNames="checkbox" checkedBinding="view.parentView.isShowMineOnly"}} &nbsp;
       {{t dashboard.widgets.browser.footer.checkbox}}
     </label>
+  {{/isAccessible}}
   <button class="btn btn-success" {{action onPrimary target="view"}}>{{t common.close}}</button>
 </div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/common/modal_popups/widget_browser_popup.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/modal_popups/widget_browser_popup.hbs b/ambari-web/app/templates/common/modal_popups/widget_browser_popup.hbs
index b34dc75..3396cb6 100644
--- a/ambari-web/app/templates/common/modal_popups/widget_browser_popup.hbs
+++ b/ambari-web/app/templates/common/modal_popups/widget_browser_popup.hbs
@@ -20,11 +20,13 @@
   {{#if view.isLoaded}}
     <div class="widget-browser-content">
       <!--Create new widget button-->
+      {{#isAccessible ADMIN}}
         <div class="btn-group pull-right" id="create-widget-button">
           <button type="button" class="btn btn-primary" {{action "createWidget" target="view"}} >
             <i class="icon-plus"></i> &nbsp; {{t dashboard.widgets.create}}
           </button>
         </div>
+      {{/isAccessible}}
 
       <!--Filters bar: service name filter, status filter here-->
       <ul id="services-filter-bar" class="nav nav-tabs">
@@ -62,6 +64,7 @@
                         <i class="icon-ok"></i> &nbsp; {{t dashboard.widgets.browser.action.added}}
                     </button>
                   {{else}}
+                    {{#isAccessible ADMIN}}
                       <button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
                         {{t common.more}}<span class="caret"></span>
                       </button>
@@ -79,6 +82,7 @@
                           {{/unless}}
                         </li>
                       </ul>
+                    {{/isAccessible}}
                     <button type="button" class="btn btn-default" {{action "addWidget" widget target="controller"}} >
                       {{t dashboard.widgets.browser.action.add}}
                     </button>

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/common/widget/gauge_widget.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/widget/gauge_widget.hbs b/ambari-web/app/templates/common/widget/gauge_widget.hbs
index b35d959..d31d743 100644
--- a/ambari-web/app/templates/common/widget/gauge_widget.hbs
+++ b/ambari-web/app/templates/common/widget/gauge_widget.hbs
@@ -22,6 +22,7 @@
       <i class="icon-remove-sign icon-large"></i>
     </a>
     <div class="caption title span11">{{view.content.widgetName}}</div>
+    {{#isAccessible ADMIN}}
       <div class="widget-icons">
         <a class="corner-icon pull-right" href="#" {{action editWidget target="view"}}>
           <i class="icon-edit"></i>
@@ -30,6 +31,7 @@
           <i class="icon-copy"></i>
         </a>
       </div>
+    {{/isAccessible}}
     <div class="content">
       {{#if view.isUnavailable}}
         {{#if view.isOverflowed}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/common/widget/graph_widget.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/widget/graph_widget.hbs b/ambari-web/app/templates/common/widget/graph_widget.hbs
index 96d4746..062253a 100644
--- a/ambari-web/app/templates/common/widget/graph_widget.hbs
+++ b/ambari-web/app/templates/common/widget/graph_widget.hbs
@@ -22,6 +22,7 @@
       <i class="icon-remove-sign icon-large"></i>
     </a>
     <div class="caption title span11">{{view.content.widgetName}}</div>
+    {{#isAccessible ADMIN}}
       <div class="widget-icons">
         <a {{bindAttr class="view.isExportButtonHidden:hidden :corner-icon :pull-right"}} href="#" {{action toggleFormatsList target="view"}}>
           <i class="icon-save"></i>
@@ -34,6 +35,7 @@
         </a>
         {{view view.exportMetricsMenuView}}
       </div>
+    {{/isAccessible}}
     <div class="content"> {{view view.graphView}}</div>
 
   {{else}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/common/widget/number_widget.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/widget/number_widget.hbs b/ambari-web/app/templates/common/widget/number_widget.hbs
index f1a2f3c..2a82891 100644
--- a/ambari-web/app/templates/common/widget/number_widget.hbs
+++ b/ambari-web/app/templates/common/widget/number_widget.hbs
@@ -22,6 +22,7 @@
       <i class="icon-remove-sign icon-large"></i>
     </a>
     <div class="caption title span11">{{view.content.widgetName}}</div>
+    {{#isAccessible ADMIN}}
     <div class="widget-icons">
       <a class="corner-icon pull-right" href="#" {{action editWidget target="view"}}>
         <i class="icon-edit"></i>
@@ -30,6 +31,7 @@
         <i class="icon-copy"></i>
       </a>
       </div>
+    {{/isAccessible}}
     <div {{bindAttr class="view.contentColor :content"}}>{{view.displayValue}}</div>
     {{#if view.content.description}}
       <div class="hidden-description">

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/common/widget/template_widget.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/widget/template_widget.hbs b/ambari-web/app/templates/common/widget/template_widget.hbs
index 75d6f46..2d2bff7 100644
--- a/ambari-web/app/templates/common/widget/template_widget.hbs
+++ b/ambari-web/app/templates/common/widget/template_widget.hbs
@@ -22,6 +22,7 @@
       <i class="icon-remove-sign icon-large"></i>
     </a>
     <div class="caption title span11">{{view.content.widgetName}}</div>
+    {{#isAccessible ADMIN}}
       <div class="widget-icons">
         <a class="corner-icon pull-right" href="#" {{action editWidget target="view"}}>
           <i class="icon-edit"></i>
@@ -30,6 +31,7 @@
           <i class="icon-copy"></i>
         </a>
       </div>
+    {{/isAccessible}}
     <div {{bindAttr class="view.contentColor :content"}}>{{{view.displayValue}}}</div>
     {{#if view.content.description}}
       <div class="hidden-description">

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/main/admin/kerberos.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/kerberos.hbs b/ambari-web/app/templates/main/admin/kerberos.hbs
index 341b2f5..3dbc4d0 100644
--- a/ambari-web/app/templates/main/admin/kerberos.hbs
+++ b/ambari-web/app/templates/main/admin/kerberos.hbs
@@ -19,7 +19,7 @@
   {{#if securityEnabled}}
     <div>
       <p class="text-success">{{t admin.security.enabled}}
-        {{#isAuthorized "CLUSTER.TOGGLE_KERBEROS"}}
+        {{#isAccessible ADMIN}}
           <button class="btn btn-padding btn-warning admin-disable-security-btn" {{bindAttr disabled="isKerberosButtonsDisabled"}} {{action notifySecurityOffPopup target="controller"}}>{{t admin.kerberos.button.disable}} </button>
           {{#unless isManualKerberos}}
             <button class="btn btn-success" id="regenerate-keytabs" {{bindAttr disabled="isKerberosButtonsDisabled"}} {{action regenerateKeytabs target="controller"}}>
@@ -37,7 +37,7 @@
               {{t common.edit}}
             </a>
           {{/unless}}
-        {{/isAuthorized}}
+        {{/isAccessible}}
       </p>
     </div>
     <div id="serviceConfig">
@@ -55,10 +55,10 @@
   {{else}}
     <div>
       <p class="muted background-text">{{t admin.security.disabled}}
-      {{#isAuthorized "CLUSTER.TOGGLE_KERBEROS"}}
-        <a class="btn btn-padding btn-success admin-enable-security-btn" {{action checkAndStartKerberosWizard target="controller"}}>{{t admin.kerberos.button.enable}} </a>
-        <br/>
-      {{/isAuthorized}}
+        {{#isAccessible ADMIN}}
+          <a class="btn btn-padding btn-success admin-enable-security-btn" {{action checkAndStartKerberosWizard target="controller"}}>{{t admin.kerberos.button.enable}} </a>
+          <br/>
+        {{/isAccessible}}
       </p>
     </div>
   {{/if}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/main/admin/stack_upgrade/versions.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/stack_upgrade/versions.hbs b/ambari-web/app/templates/main/admin/stack_upgrade/versions.hbs
index 59eb33f..0e69339 100644
--- a/ambari-web/app/templates/main/admin/stack_upgrade/versions.hbs
+++ b/ambari-web/app/templates/main/admin/stack_upgrade/versions.hbs
@@ -36,11 +36,11 @@
       {{/each}}
     </ul>
   </div>
-  {{#isAuthorized "CLUSTER.UPGRADE_DOWNGRADE_STACK"}}
+  {{#isAccessible upgrade_ONLY_ADMIN}}
     <button class="btn btn-primary pull-right" {{action goToVersions target="view"}} id="manage-versions-link">
       <i class="icon-external-link"></i>&nbsp;{{t admin.stackVersions.manageVersions}}
     </button>
-  {{/isAuthorized}}
+  {{/isAccessible}}
 </div>
 <div class="row-fluid">
   {{#if isLoaded}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/main/alerts.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/alerts.hbs b/ambari-web/app/templates/main/alerts.hbs
index e2028be..8e056c4 100644
--- a/ambari-web/app/templates/main/alerts.hbs
+++ b/ambari-web/app/templates/main/alerts.hbs
@@ -16,11 +16,11 @@
 * limitations under the License.
 }}
 
-{{#isAuthorized "SERVICE.TOGGLE_ALERTS"}}
+{{#isAccessible ADMIN}}
   <div id="alert-actions-button" class="pull-left">
     {{view App.MainAlertDefinitionActionsView controllerBinding="App.router.mainAlertDefinitionActionsController"}}
   </div>
-{{/isAuthorized}}
+{{/isAccessible}}
 
 <div id="alert-groups-filter" class="pull-left advanced-header-table groups-filter">
 {{#if App.router.clusterController.isAlertsLoaded}}
@@ -63,22 +63,32 @@
               <time class="timeago" {{bindAttr data-original-title="alertDefinition.lastTriggeredFormatted"}}>{{alertDefinition.lastTriggeredAgoFormatted}}</time>
             </td>
             <td class="last toggle-state-button alert-state">
-              {{#if alertDefinition.enabled not=true}}
-                {{#isAuthorized "CLUSTER.TOGGLE_ALERTS"}}
+              {{#if alertDefinition.enabled}}
+                {{#isAccessible ADMIN}}
                   <a href="#" {{action "toggleState" alertDefinition target="controller"}} {{bindAttr class="alertDefinition.enabled:alert-definition-enable:alert-definition-disable"}}>
                   <span class="enable-disable-button" {{bindAttr data-original-title="view.enabledTooltip"}}>
                     {{view.enabledDisplay}}
                   </span>
                   </a>
-                {{/isAuthorized}}
+                {{/isAccessible}}
+                {{#isAccessible NON_ADMIN}}
+                  <span {{bindAttr class="alertDefinition.enabled:alert-definition-enable:alert-definition-disable"}}>
+                    {{t alerts.table.state.enabled}}
+                  </span>
+                {{/isAccessible}}
               {{else}}
-                {{#isAuthorized "CLUSTER.TOGGLE_ALERTS"}}
+                {{#isAccessible ADMIN}}
                   <a href="#" {{action "toggleState" alertDefinition target="controller"}} {{bindAttr class="alertDefinition.enabled:alert-definition-enable:alert-definition-disable"}}>
                   <span class="enable-disable-button" {{bindAttr data-original-title="view.disabledTooltip"}}>
                     {{view.disabledDisplay}}
                   </span>
                   </a>
-                {{/isAuthorized}}
+                {{/isAccessible}}
+                {{#isAccessible NON_ADMIN}}
+                  <span {{bindAttr class="alertDefinition.enabled:alert-definition-enable:alert-definition-disable"}}>
+                    {{t alerts.table.state.disabled}}
+                  </span>
+                {{/isAccessible}}
               {{/if}}
             </td>
           </tr>

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/main/alerts/definition_details.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/alerts/definition_details.hbs b/ambari-web/app/templates/main/alerts/definition_details.hbs
index 50ab611..4b0f1d7 100644
--- a/ambari-web/app/templates/main/alerts/definition_details.hbs
+++ b/ambari-web/app/templates/main/alerts/definition_details.hbs
@@ -41,10 +41,10 @@
           </span>
         {{/if}}
         {{#unless controller.editing.label.isEditing}}
-          {{#isAuthorized "SERVICE.TOGGLE_ALERTS"}}
+          {{#isAccessible ADMIN}}
             <a {{action edit controller.editing.label target="controller"}} class="edit-description-button"><i
                 class="icon-pencil"></i></a>
-          {{/isAuthorized}}
+          {{/isAccessible}}
         {{/unless}}
       </div>
       {{! Alert Definition Name end }}
@@ -69,14 +69,14 @@
           <h4>{{t common.configuration}}</h4>
         </div>
         <div class="pull-right span5 row-fluid" style="padding:0 10px;">
-          {{#isAuthorized "SERVICE.TOGGLE_ALERTS"}}
+          {{#isAccessible ADMIN}}
             {{#unless App.router.mainAlertDefinitionConfigsController.canEdit}}
               <a {{action editConfigs target="App.router.mainAlertDefinitionConfigsController"}}
                   class="pull-right edit-link">
                 {{t common.edit}}
               </a>
             {{/unless}}
-          {{/isAuthorized}}
+          {{/isAccessible}}
         </div>
       </div>
       {{view App.AlertDefinitionConfigsView contentBinding="view.controller.content" alertDefinitionTypeBinding="view.controller.content.type" canEdit=false}}
@@ -100,23 +100,33 @@
           <div class="span4 property-name">{{t alerts.table.state}}:</div>
           <div class="span8">
             {{#if controller.content.enabled}}
-              {{#isAuthorized "SERVICE.TOGGLE_ALERTS"}}
+              {{#isAccessible ADMIN}}
                 <a href="#" {{action "toggleState" controller.content target="controller"}} {{bindAttr class="controller.content.enabled:alert-definition-enable:alert-definition-disable"}}>
                   <span
                       class="enable-disable-button" {{translateAttr data-original-title="alerts.table.state.enabled.tooltip"}}>
                     {{view.enabledDisplay}}
                   </span>
                 </a>
-              {{/isAuthorized}}
+              {{/isAccessible}}
+              {{#isAccessible NON_ADMIN}}
+                <span {{bindAttr class="controller.content.enabled:alert-definition-enable:alert-definition-disable"}}>
+                  {{t alerts.table.state.enabled}}
+                </span>
+              {{/isAccessible}}
             {{else}}
-              {{#isAuthorized "SERVICE.TOGGLE_ALERTS"}}
+              {{#isAccessible ADMIN}}
                 <a href="#" {{action "toggleState" controller.content target="controller"}} {{bindAttr class="controller.content.enabled:alert-definition-enable:alert-definition-disable"}}>
                   <span
                       class="enable-disable-button" {{translateAttr data-original-title="alerts.table.state.disabled.tooltip"}}>
                     {{view.disabledDisplay}}
                   </span>
                 </a>
-              {{/isAuthorized}}
+              {{/isAccessible}}
+              {{#isAccessible NON_ADMIN}}
+                <span {{bindAttr class="controller.content.enabled:alert-definition-enable:alert-definition-disable"}}>
+                  {{t alerts.table.state.disabled}}
+                </span>
+              {{/isAccessible}}
             {{/if}}
           </div>
         </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/main/host.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/host.hbs b/ambari-web/app/templates/main/host.hbs
index 66d38e4..f6bab03 100644
--- a/ambari-web/app/templates/main/host.hbs
+++ b/ambari-web/app/templates/main/host.hbs
@@ -20,9 +20,9 @@
 
   <div class="box-header row">
     <div class="hosts-actions pull-left">
-      {{#isAuthorized "HOST.ADD_DELETE_COMPONENTS, HOST.TOGGLE_MAINTENANCE, HOST.ADD_DELETE_HOSTS"}}
+      {{#isAccessible ADMIN}}
         {{view App.HostTableMenuView}}
-      {{/isAuthorized}}
+      {{/isAccessible}}
     </div>
     <div class="health-status-bar pull-left">
       {{#view view.statusFilter categoriesBinding="view.categories"}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/main/host/bulk_operation_menu.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/host/bulk_operation_menu.hbs b/ambari-web/app/templates/main/host/bulk_operation_menu.hbs
index fab2576..eecb991 100644
--- a/ambari-web/app/templates/main/host/bulk_operation_menu.hbs
+++ b/ambari-web/app/templates/main/host/bulk_operation_menu.hbs
@@ -19,10 +19,10 @@
 <div class="dropdown bulk-menu">
   <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">{{t common.actions}} <span class="caret"></span></a>
   <ul class="dropdown-menu">
-    {{#isAuthorized "HOST.ADD_DELETE_HOSTS"}}
+    {{#isAccessible ADMIN}}
       <li><a href="#" {{action addHost}}><i class="icon-plus icon-white"></i> {{t hosts.host.add}}</a></li>
       <li class="divider"></li>
-    {{/isAuthorized}}
+    {{/isAccessible}}
     <li class="dropdown-submenu">
       <a {{bindAttr class="view.parentView.showSelectedFilter::disabled"}} tabindex="-1" href="javascript:void(null);">{{view.menuItems.s.label}}
         ({{view.parentView.selectedHosts.length}})</a>

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/main/host/details.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/host/details.hbs b/ambari-web/app/templates/main/host/details.hbs
index ea95d4f..bcb087b 100644
--- a/ambari-web/app/templates/main/host/details.hbs
+++ b/ambari-web/app/templates/main/host/details.hbs
@@ -31,6 +31,7 @@
     </div>
     <div class="content">
       {{view App.MainHostMenuView hostBinding="view.content"}}
+      {{#isAccessible ADMIN}}
         <div class="service-button">
           <div class="btn-group display-inline-block">
             <a href="javascript:void(null)" {{bindAttr class=":btn :dropdown-toggle"}} id="host-details-action-btn" data-toggle="dropdown">
@@ -63,6 +64,7 @@
             </ul>
           </div>
         </div>
+      {{/isAccessible}}
       {{outlet}}
     </div>
   </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/main/host/details/host_component.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/host/details/host_component.hbs b/ambari-web/app/templates/main/host/details/host_component.hbs
index 4976632..23cdb7c 100644
--- a/ambari-web/app/templates/main/host/details/host_component.hbs
+++ b/ambari-web/app/templates/main/host/details/host_component.hbs
@@ -18,11 +18,11 @@
 
 <div class="span7 component-label">
   {{#if view.isUpgradeFailed}}
-    {{#isAuthorized "HOST.ADD_DELETE_COMPONENTS"}}
+    {{#isAccessible ADMIN}}
       <a href="#" {{action "upgradeComponent" view.content target="controller"}} >
         <i title="Component upgrade failed" class="components-health icon-arrow-up"></i>
       </a>
-    {{/isAuthorized}}
+    {{/isAccessible}}
   {{else}}
     <span rel='componentHealthTooltip' {{bindAttr class="view.statusClass view.statusIconClass :components-health" data-original-title="view.componentTextStatus"}}></span>&nbsp;
   {{/if}}
@@ -42,7 +42,7 @@
   {{/unless}}
 </div>
 <div class="span5 pull-right">
-  {{#isAuthorized "SERVICE.DECOMMISSION_RECOMMISSION"}}
+  {{#isAccessible ADMIN}}
     <div class="btn-group pull-right">
       <a {{ bindAttr class="view.disabled :btn :dropdown-toggle"}} data-toggle="dropdown">
         {{view.componentTextStatus}}
@@ -63,24 +63,22 @@
           </li>
         {{/if}}
         {{#unless view.isInstalling}}
-          {{#isAuthorized "SERVICE.START_STOP"}}
-            {{#if view.isStart}}
-              <li {{bindAttr class="view.isComponentDecommissioning:hidden view.noActionAvailable"}}>
-                <a href="javascript:void(null)" data-toggle="modal" {{action "stopComponent" view.content target="controller"}}>
-                  {{t common.stop}}
+          {{#if view.isStart}}
+            <li {{bindAttr class="view.isComponentDecommissioning:hidden view.noActionAvailable"}}>
+              <a href="javascript:void(null)" data-toggle="modal" {{action "stopComponent" view.content target="controller"}}>
+                {{t common.stop}}
+              </a>
+            </li>
+          {{/if}}
+          {{#unless view.isStart}}
+            {{#unless view.isInit}}
+              <li {{bindAttr class="view.isUpgradeFailed:hidden view.isInstallFailed:hidden view.isDecommissioning:hidden view.noActionAvailable"}}>
+                <a href="javascript:void(null)" data-toggle="modal" {{action "startComponent" view.content target="controller"}}>
+                  {{t common.start}}
                 </a>
               </li>
-            {{/if}}
-            {{#unless view.isStart}}
-              {{#unless view.isInit}}
-                <li {{bindAttr class="view.isUpgradeFailed:hidden view.isInstallFailed:hidden view.isDecommissioning:hidden view.noActionAvailable"}}>
-                  <a href="javascript:void(null)" data-toggle="modal" {{action "startComponent" view.content target="controller"}}>
-                    {{t common.start}}
-                  </a>
-                </li>
-              {{/unless}}
             {{/unless}}
-          {{/isAuthorized}}
+          {{/unless}}
           {{#if view.isUpgradeFailed}}
             <li {{bindAttr class="view.noActionAvailable"}}>
               <a href="javascript:void(null)" data-toggle="modal" {{action "upgradeComponent" view.content target="controller"}}>
@@ -96,16 +94,13 @@
             </li>
           {{/if}}
           {{#if view.isReassignable}}
-            {{#isAuthorized "SERVICE.MOVE"}}
-              <li {{bindAttr class="view.noActionAvailable view.isMoveComponentDisabled:disabled"}}>
-                <a href="javascript:void(null)" data-toggle="modal" {{action "moveComponent" view.content target="controller"}}>
-                  {{t common.move}}
-                </a>
-              </li>
-            {{/isAuthorized}}
+            <li {{bindAttr class="view.noActionAvailable view.isMoveComponentDisabled:disabled"}}>
+              <a href="javascript:void(null)" data-toggle="modal" {{action "moveComponent" view.content target="controller"}}>
+                {{t common.move}}
+              </a>
+            </li>
           {{/if}}
-          {{#isAuthorized "HOST.TOGGLE_MAINTENANCE"}}
-            <li {{bindAttr class="view.noActionAvailable"}}>
+          <li {{bindAttr class="view.noActionAvailable"}}>
             <a href="javascript:void(null)"
                data-toggle="modal" {{action "toggleMaintenanceMode" view.content target="controller"}}>
               {{#if view.isActive}}
@@ -115,7 +110,6 @@
               {{/if}}
             </a>
           </li>
-          {{/isAuthorized}}
         {{/unless}}
         {{#if view.isInit}}
           <li>
@@ -125,13 +119,11 @@
           </li>
         {{/if}}
         {{#if view.isDeletableComponent}}
-          {{#isAuthorized "HOST.ADD_DELETE_COMPONENTS"}}
             <li {{bindAttr class="view.isDeleteComponentDisabled:disabled"}}>
                 <a href="javascript:void(null)" data-toggle="modal" {{action "deleteComponent" view.content target="controller"}}>
                   {{t common.delete}}
                 </a>
             </li>
-          {{/isAuthorized}}
         {{/if}}
         {{#if view.isRefreshConfigsAllowed}}
             <li>
@@ -148,5 +140,5 @@
       {{/each}}
       </ul>
     </div>
-  {{/isAuthorized}}
+  {{/isAccessible}}
 </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/main/host/stack_versions.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/host/stack_versions.hbs b/ambari-web/app/templates/main/host/stack_versions.hbs
index 55a4de2..ea5a74b 100644
--- a/ambari-web/app/templates/main/host/stack_versions.hbs
+++ b/ambari-web/app/templates/main/host/stack_versions.hbs
@@ -51,9 +51,9 @@
           {{/if}}
         </td>
         <td class="install-repo-version align-center">
-          {{#isAuthorized "AMBARI.MANAGE_STACK_VERSIONS"}}
+          {{#isAccessible ADMIN}}
             <button class="btn" {{action installVersionConfirmation this target="controller"}} {{bindAttr disabled="this.installDisabled"}}><i class="icon-off"></i>&nbsp;{{t common.install}}</button>
-          {{/isAuthorized}}
+          {{/isAccessible}}
         </td>
       </tr>
     {{/each}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/main/host/summary.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/host/summary.hbs b/ambari-web/app/templates/main/host/summary.hbs
index 6b4c7a5..aff0349 100644
--- a/ambari-web/app/templates/main/host/summary.hbs
+++ b/ambari-web/app/templates/main/host/summary.hbs
@@ -26,7 +26,7 @@
             <h4>{{t common.components}}</h4>
           </div>
           <div class="pull-right span5 row-fluid" style="padding:0 10px;">
-            {{#isAuthorized "HOST.ADD_DELETE_COMPONENTS"}}
+            {{#isAccessible ADMIN}}
               <div class="btn-group pull-right">
                 <button id="add_component" data-toggle="dropdown" {{bindAttr class="view.addComponentDisabled:disabled :btn :dropdown-toggle"}}>
                   <span class="icon-plus"></span>&nbsp;{{t add}}
@@ -41,13 +41,13 @@
                   {{/each}}
                 </ul>
               </div>
-            {{/isAuthorized}}
+            {{/isAccessible}}
           </div>
         </div>
         <div class="host-components">
         {{#if view.sortedComponents.length}}
 
-          {{#isAuthorized "SERVICE.MODIFY_CONFIGS, SERVICE.START_STOP, HOST.ADD_DELETE_COMPONENTS, HOST.TOGGLE_MAINTENANCE"}}
+          {{#isAccessible ADMIN}}
             {{#if view.content.componentsWithStaleConfigsCount}}
               <div class="alert alert-warning clearfix">
                 <i class="icon-refresh"></i> {{view.needToRestartMessage}}
@@ -56,7 +56,7 @@
                   </button>
               </div>
             {{/if}}
-          {{/isAuthorized}}
+          {{/isAccessible}}
 
           {{#each component in view.sortedComponents}}
             <div class="row-fluid">
@@ -77,7 +77,7 @@
               {{/if}}
             </div>
             <div class="span5 row">
-              {{#isAuthorized "SERVICE.MODIFY_CONFIGS, SERVICE.START_STOP, HOST.ADD_DELETE_COMPONENTS, HOST.TOGGLE_MAINTENANCE"}}
+              {{#isAccessible ADMIN}}
                 {{#if view.clients.length}}
                   <div class="btn-group pull-right">
                     <button id="add_component" data-toggle="dropdown" {{bindAttr class=":btn :dropdown-toggle controller.content.isNotHeartBeating:disabled"}}>
@@ -115,7 +115,7 @@
                     </ul>
                   </div>
                 {{/if}}
-              {{/isAuthorized}}
+              {{/isAccessible}}
             </div>
           </div>
         </div>
@@ -136,9 +136,9 @@
 
                         <dt class="summary-rack-label">{{t common.rack}}:</dt>
                         <dd class="summary-rack-value">&nbsp;{{view.content.rack}}
-                          {{#isAuthorized "HOST.TOGGLE_MAINTENANCE"}}
+                          {{#isAccessible MANAGER}}
                             <a class="set-rack-id" {{action setRackId view.content target="controller"}}><i class="icon-pencil"></i></a>
-                          {{/isAuthorized}}
+                          {{/isAccessible}}
                         </dd>
 
                         <dt class="summary-os-label">{{t common.os}}:</dt>

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/main/service/all_services_actions.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/service/all_services_actions.hbs b/ambari-web/app/templates/main/service/all_services_actions.hbs
index 63d916f..1cc0270 100644
--- a/ambari-web/app/templates/main/service/all_services_actions.hbs
+++ b/ambari-web/app/templates/main/service/all_services_actions.hbs
@@ -16,49 +16,45 @@
 * limitations under the License.
 }}
 
-{{#isAuthorized "SERVICE.START_STOP, SERVICE.ADD_DELETE_SERVICES"}}
-    <div class="service-button" style="margin-top: 10px;">
-        <div class="btn-group display-inline-block span11 offset1">
-            <a class="btn dropdown-toggle span10" data-toggle="dropdown" href="#">{{t common.actions}}
-                <span class="caret"></span>
+{{#isAccessible ADMIN}}
+  <div class="service-button" style="margin-top: 10px;">
+    <div class="btn-group display-inline-block span11 offset1">
+      <a class="btn dropdown-toggle span10" data-toggle="dropdown" href="#">{{t common.actions}}
+        <span class="caret"></span>
+      </a>
+      <ul class="pull-left dropdown-menu">
+          <li {{bindAttr class="controller.isAllServicesInstalled:disabled"}}>
+            <a href="#"
+              {{bindAttr class="controller.isAllServicesInstalled:disabled"}}
+              {{action gotoAddService target="controller"}}>
+              <i class="icon-plus icon-white"></i> {{t services.service.add}}</a>
+          </li>
+          <li class="divider"></li>
+          <li {{bindAttr class="controller.isStartAllDisabled:disabled" }}>
+            <a href="#" data-toggle="modal"
+              {{bindAttr class="controller.isStartAllDisabled:disabled" }}
+              {{action "startAllService" target="controller"}}>
+              <i {{bindAttr class=":icon-play controller.isStartAllDisabled:disabled:enabled " }}></i>
+              {{t services.service.startAll}}
             </a>
-            <ul class="pull-left dropdown-menu">
-                {{#isAuthorized "SERVICE.START_STOP"}}
-                    <li {{bindAttr class="controller.isAllServicesInstalled:disabled"}}>
-                        <a href="#"
-                            {{bindAttr class="controller.isAllServicesInstalled:disabled"}}
-                            {{action gotoAddService target="controller"}}>
-                            <i class="icon-plus icon-white"></i> {{t services.service.add}}</a>
-                    </li>
-                {{/isAuthorized}}
-                {{#isAuthorized "SERVICE.ADD_DELETE_SERVICES"}}
-                    <li class="divider"></li>
-                    <li {{bindAttr class="controller.isStartAllDisabled:disabled" }}>
-                        <a href="#" data-toggle="modal"
-                            {{bindAttr class="controller.isStartAllDisabled:disabled" }}
-                            {{action "startAllService" target="controller"}}>
-                            <i {{bindAttr class=":icon-play controller.isStartAllDisabled:disabled:enabled " }}></i>
-                            {{t services.service.startAll}}
-                        </a>
-                    </li>
-                    <li {{bindAttr class="controller.isStopAllDisabled:disabled" }}>
-                        <a href="#" data-toggle="modal"
-                            {{bindAttr class="controller.isStopAllDisabled:disabled" }}
-                            {{action "stopAllService" target="controller"}}>
-                            <i {{bindAttr class=":icon-stop controller.isStopAllDisabled:disabled:enabled" }}></i>
-                            {{t services.service.stopAll}}
-                        </a>
-                    </li>
-                    <li {{bindAttr class="controller.isRestartAllRequiredDisabled:disabled" }}>
-                        <a href="#" data-toggle="modal"
-                            {{bindAttr class="controller.isRestartAllRequiredDisabled:disabled" }}
-                            {{action "restartAllRequired" target="controller"}}>
-                            <i {{bindAttr class=":icon-repeat controller.isRestartAllRequiredDisabled:disabled:enabled" }}></i>
-                            {{t services.service.restartAllRequired}}
-                        </a>
-                    </li>
-                {{/isAuthorized}}
-            </ul>
-        </div>
+          </li>
+          <li {{bindAttr class="controller.isStopAllDisabled:disabled" }}>
+            <a href="#" data-toggle="modal"
+              {{bindAttr class="controller.isStopAllDisabled:disabled" }}
+              {{action "stopAllService" target="controller"}}>
+              <i {{bindAttr class=":icon-stop controller.isStopAllDisabled:disabled:enabled" }}></i>
+              {{t services.service.stopAll}}
+            </a>
+          </li>
+          <li {{bindAttr class="controller.isRestartAllRequiredDisabled:disabled" }}>
+            <a href="#" data-toggle="modal"
+              {{bindAttr class="controller.isRestartAllRequiredDisabled:disabled" }}
+              {{action "restartAllRequired" target="controller"}}>
+              <i {{bindAttr class=":icon-repeat controller.isRestartAllRequiredDisabled:disabled:enabled" }}></i>
+              {{t services.service.restartAllRequired}}
+            </a>
+          </li>
+      </ul>
     </div>
-{{/isAuthorized}}
+  </div>
+{{/isAccessible}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/main/service/info/configs.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/service/info/configs.hbs b/ambari-web/app/templates/main/service/info/configs.hbs
index 40c597c..8f4eb0b 100644
--- a/ambari-web/app/templates/main/service/info/configs.hbs
+++ b/ambari-web/app/templates/main/service/info/configs.hbs
@@ -19,7 +19,7 @@
 <div id="serviceConfig">
   {{#if dataIsLoaded}}
     {{#if controller.content.isRestartRequired}}
-      {{#isAuthorized "SERVICE.START_STOP"}}
+      {{#isAccessible ADMIN}}
         <div>
           <div class="alert alert-warning clearfix">
             <i class="icon-refresh"></i> {{t services.service.config.restartService.needToRestart}}  <a
@@ -45,7 +45,7 @@
             </div>
           </div>
         </div>
-      {{/isAuthorized}}
+      {{/isAccessible}}
     {{/if}}
     <div class="clearfix"></div>
     {{view App.ServiceConfigView filterBinding="controller.filter" columnsBinding="controller.filterColumns" canEditBinding="controller.canEdit"}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/main/service/info/summary.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/service/info/summary.hbs b/ambari-web/app/templates/main/service/info/summary.hbs
index eecd5d6..037ab16 100644
--- a/ambari-web/app/templates/main/service/info/summary.hbs
+++ b/ambari-web/app/templates/main/service/info/summary.hbs
@@ -17,7 +17,7 @@
 }}
 
 {{#if view.service.isRestartRequired}}
-  {{#isAuthorized "SERVICE.START_STOP"}}
+  {{#isAccessible ADMIN}}
     <div id="summary-restart-bar">
       <div class="alert alert-warning clearfix">
         <i class="icon-refresh"></i> {{{view.needToRestartMessage}}} {{t services.service.config.restartService.needToRestart}}
@@ -43,7 +43,7 @@
         </div>
       </div>
     </div>
-  {{/isAuthorized}}
+  {{/isAccessible}}
 {{/if}}
 
 <div class="service-block">

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/templates/main/service/item.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/service/item.hbs b/ambari-web/app/templates/main/service/item.hbs
index ed989a1..f276884 100644
--- a/ambari-web/app/templates/main/service/item.hbs
+++ b/ambari-web/app/templates/main/service/item.hbs
@@ -56,7 +56,7 @@
     {{/if}}
   </div>
 
-{{#isAuthorized "SERVICE.RUN_CUSTOM_COMMAND, SERVICE.RUN_SERVICE_CHECK, SERVICE.START_STOP, SERVICE.TOGGLE_MAINTENANCE, SERVICE.ENABLE_HA"}}
+{{#isAccessible ADMIN}}
 <div class="service-button">
   {{#if view.isMaintenanceActive}}
     <div class="btn-group display-inline-block">
@@ -68,7 +68,6 @@
         <!-- dropdown menu links -->
 
         <!-- Start/Stop service actions -->
-        {{#isAuthorized "SERVICE.START_STOP"}}
         {{#unless controller.isClientsOnlyService}}
           <li {{bindAttr class="controller.isStartDisabled:disabled"}}>
             <a href="javascript:void(null)" {{bindAttr class="controller.isStartDisabled:disabled" }}
@@ -85,36 +84,33 @@
             </a>
           </li>
         {{/unless}}
-        {{/isAuthorized}}
-        {{#isAuthorized "SERVICE.RUN_CUSTOM_COMMAND, SERVICE.RUN_SERVICE_CHECK, SERVICE.TOGGLE_MAINTENANCE, SERVICE.ENABLE_HA"}}
-          {{#if view.maintenance.length}}
-            <!-- Other service actions -->
-            {{#each option in view.maintenance}}
-            <li {{bindAttr class="option.disabled option.isHidden:hidden option.hasSubmenu:dropdown-submenu option.hasSubmenu:submenu-left"}}>
-              <a {{action "doAction" option target="controller" href=true}} {{bindAttr data-title="option.tooltip"}} rel="HealthTooltip">
-                  <i {{bindAttr class="option.cssClass"}}></i>
-                  {{option.label}}
-              </a>
-              {{#if option.hasSubmenu}}
-                <div class="dropdown-menu-wrap">
-                  <ul class="dropdown-menu">
-                    {{#each item in option.submenuOptions}}
-                      <li>
-                        <a {{action "doAction" item target="controller" href=true}}>{{item.context.label}}</a>
-                      </li>
-                    {{/each}}
-                  </ul>
-                </div>
-              {{/if}}
-            </li>
-            {{/each}}
-          {{else}}
-            <div class="spinner service-button-spinner"></div>
-          {{/if}}
-        {{/isAuthorized}}
+        {{#if view.maintenance.length}}
+          <!-- Other service actions -->
+          {{#each option in view.maintenance}}
+          <li {{bindAttr class="option.disabled option.isHidden:hidden option.hasSubmenu:dropdown-submenu option.hasSubmenu:submenu-left"}}>
+            <a {{action "doAction" option target="controller" href=true}} {{bindAttr data-title="option.tooltip"}} rel="HealthTooltip">
+                <i {{bindAttr class="option.cssClass"}}></i>
+                {{option.label}}
+            </a>
+            {{#if option.hasSubmenu}}
+              <div class="dropdown-menu-wrap">
+                <ul class="dropdown-menu">
+                  {{#each item in option.submenuOptions}}
+                    <li>
+                      <a {{action "doAction" item target="controller" href=true}}>{{item.context.label}}</a>
+                    </li>
+                  {{/each}}
+                </ul>
+              </div>
+            {{/if}}
+          </li>
+          {{/each}}
+        {{else}}
+          <div class="spinner service-button-spinner"></div>
+        {{/if}}
       </ul>
     </div>
   {{/if}}
 </div>
-{{/isAuthorized}}
+{{/isAccessible}}
 {{outlet}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/utils/ajax/ajax.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/ajax/ajax.js b/ambari-web/app/utils/ajax/ajax.js
index d1d76f3..80c1562 100644
--- a/ambari-web/app/utils/ajax/ajax.js
+++ b/ambari-web/app/utils/ajax/ajax.js
@@ -2059,10 +2059,6 @@ var urls = {
     real: '/privileges?PrivilegeInfo/principal_name={userName}&fields=*',
     mock: '/data/users/privileges_{userName}.json'
   },
-  'router.user.authorizations': {
-    real: '/users/{userName}/authorizations?fields=*',
-    mock: '/data/users/privileges_{userName}.json'
-  },
   'router.login.clusters': {
     'real': '/clusters?fields=Clusters/provisioning_state',
     'mock': '/data/clusters/info.json'

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/utils/helper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/helper.js b/ambari-web/app/utils/helper.js
index 3e7caed..cb71356 100644
--- a/ambari-web/app/utils/helper.js
+++ b/ambari-web/app/utils/helper.js
@@ -360,16 +360,16 @@ Em.Handlebars.registerHelper('highlight', function (property, words, fn) {
   return new Em.Handlebars.SafeString(property);
 });
 
-Em.Handlebars.registerHelper('isAuthorized', function (property, options) {
+Em.Handlebars.registerHelper('isAccessible', function (property, options) {
   var permission = Ember.Object.create({
-    isAuthorized: function() {
-      return App.isAuthorized(property);
+    isAccessible: function() {
+      return App.isAccessible(property);
     }.property('App.router.wizardWatcherController.isWizardRunning')
   });
 
   // wipe out contexts so boundIf uses `this` (the permission) as the context
   options.contexts = null;
-  return Ember.Handlebars.helpers.boundIf.call(permission, "isAuthorized", options);
+  return Ember.Handlebars.helpers.boundIf.call(permission, "isAccessible", options);
 });
 
 /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/utils/host_progress_popup.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/host_progress_popup.js b/ambari-web/app/utils/host_progress_popup.js
index ce88db8..689fde9 100644
--- a/ambari-web/app/utils/host_progress_popup.js
+++ b/ambari-web/app/utils/host_progress_popup.js
@@ -450,7 +450,7 @@ App.HostPopup = Em.Object.create({
           updatedService = this.createService(service);
           servicesInfo.insertAt(index, updatedService);
         }
-        updatedService.set('isAbortable',  App.isAuthorized('SERVICE.START_STOP') &&  this.isAbortableByStatus(service.status));
+        updatedService.set('isAbortable',  App.isAccessible('MANAGER') &&  this.isAbortableByStatus(service.status));
       }, this);
       this.removeOldServices(servicesInfo, currentServices);
       this.setBackgroundOperationHeader(isServiceListHidden);

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/views/common/configs/controls_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/controls_view.js b/ambari-web/app/views/common/configs/controls_view.js
index de7002c..78fd950 100644
--- a/ambari-web/app/views/common/configs/controls_view.js
+++ b/ambari-web/app/views/common/configs/controls_view.js
@@ -26,7 +26,7 @@ App.ControlsView = Ember.View.extend({
 	serviceConfigProperty: null,
 
 	showActions: function() {
-		return App.isAuthorized('SERVICE.MODIFY_CONFIGS') && this.get('serviceConfigProperty.isRequiredByAgent') && !this.get('serviceConfigProperty.isComparison');
+		return App.isAccessible('ADMIN') && this.get('serviceConfigProperty.isRequiredByAgent') && !this.get('serviceConfigProperty.isComparison');
 	}.property('serviceConfigProperty.isEditable', 'serviceConfigProperty.isRequiredByAgent', 'serviceConfigProperty.isComparison'),
 
 	showSwitchToGroup: Em.computed.and('!serviceConfigProperty.isEditable', 'serviceConfigProperty.group'),

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/views/common/table_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/table_view.js b/ambari-web/app/views/common/table_view.js
index 28c6477..823cb40 100644
--- a/ambari-web/app/views/common/table_view.js
+++ b/ambari-web/app/views/common/table_view.js
@@ -161,7 +161,7 @@ App.TableView = Em.View.extend(App.UserPref, {
     // this user is first time login
     var displayLengthDefault = this.get('defaultDisplayLength');
     this.set('displayLength', displayLengthDefault);
-    if (App.isAuthorized('SERVICE.VIEW_METRICS')) {
+    if (App.isAccessible('upgrade_ADMIN')) {
       this.saveDisplayLength();
     }
     this.filter();
@@ -369,7 +369,7 @@ App.TableView = Em.View.extend(App.UserPref, {
     Em.run.next(function() {
       App.db.setDisplayLength(self.get('controller.name'), self.get('displayLength'));
       if (!App.get('testMode')) {
-        if (App.isAuthorized('SERVICE.VIEW_METRICS')) {
+        if (App.isAccessible('upgrade_ADMIN')) {
           self.postUserPref(self.displayLengthKey(), self.get('displayLength'));
         }
       }

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/views/main/admin/stack_upgrade/services_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/admin/stack_upgrade/services_view.js b/ambari-web/app/views/main/admin/stack_upgrade/services_view.js
index 8805c47..df0a05a 100644
--- a/ambari-web/app/views/main/admin/stack_upgrade/services_view.js
+++ b/ambari-web/app/views/main/admin/stack_upgrade/services_view.js
@@ -23,7 +23,7 @@ App.MainAdminStackServicesView = Em.View.extend({
   templateName: require('templates/main/admin/stack_upgrade/services'),
 
   isAddServiceAvailable: function () {
-    return App.isAuthorized('CLUSTER.UPGRADE_DOWNGRADE_STACK');
+    return App.isAccessible('ADMIN');
   }.property('App.supports.opsDuringRollingUpgrade', 'App.upgradeState', 'App.isAdmin'),
 
   /**
@@ -51,7 +51,7 @@ App.MainAdminStackServicesView = Em.View.extend({
    * @param event
    */
   goToAddService: function (event) {
-    if (!App.isAuthorized('SERVICE.ADD_DELETE_SERVICES')) {
+    if (!App.isAccessible('ADMIN')) {
       return;
     } else if (event.context == "KERBEROS") {
       App.router.get('mainAdminKerberosController').checkAndStartKerberosWizard();

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js b/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js
index 5edb75c..0f60337 100644
--- a/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js
+++ b/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js
@@ -159,12 +159,12 @@ App.UpgradeVersionBoxView = Em.View.extend({
     }
     else if (status === 'INIT') {
       element.setProperties(statePropertiesMap[status]);
-      element.set('isDisabled', this.get('controller.requestInProgress') || isInstalling);
+      element.set('isDisabled', !App.isAccessible('ADMIN') || this.get('controller.requestInProgress') || isInstalling);
     }
     else if ((status === 'INSTALLED' && !this.get('isUpgrading')) ||
              (['INSTALL_FAILED', 'OUT_OF_SYNC'].contains(status))) {
       if (stringUtils.compareVersions(this.get('content.repositoryVersion'), Em.get(currentVersion, 'repository_version')) === 1) {
-        var isDisabled = !App.isAuthorized('CLUSTER.UPGRADE_DOWNGRADE_STACK') || this.get('controller.requestInProgress') || isInstalling;
+        var isDisabled = !App.isAccessible('ADMIN') || this.get('controller.requestInProgress') || isInstalling;
         element.set('isButtonGroup', true);
         if (status === 'OUT_OF_SYNC') {
           element.set('text', Em.I18n.t('admin.stackVersions.version.reinstall'));

http://git-wip-us.apache.org/repos/asf/ambari/blob/1efb3abe/ambari-web/app/views/main/host/details.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/host/details.js b/ambari-web/app/views/main/host/details.js
index 38a18e3..143f091 100644
--- a/ambari-web/app/views/main/host/details.js
+++ b/ambari-web/app/views/main/host/details.js
@@ -41,19 +41,14 @@ App.MainHostDetailsView = Em.View.extend({
 
   maintenance: function(){
     var onOff = this.get('isActive') ? "On" : "Off";
-    var result = [
+    return [
       {action: 'startAllComponents', liClass: (this.get('controller.content.isNotHeartBeating')?'disabled':'enabled'), cssClass: 'icon-play', 'label': this.t('hosts.host.details.startAllComponents')},
       {action: 'stopAllComponents', liClass: (this.get('controller.content.isNotHeartBeating')?'disabled':'enabled'), cssClass: 'icon-stop', 'label': this.t('hosts.host.details.stopAllComponents')},
       {action: 'restartAllComponents', liClass: (this.get('controller.content.isNotHeartBeating')?'disabled':'enabled'), cssClass: 'icon-repeat', 'label': this.t('hosts.host.details.restartAllComponents')},
+      {action: 'onOffPassiveModeForHost', liClass:'', cssClass: 'icon-medkit', active:this.get('isActive'), 'label': this.t('passiveState.turn' + onOff)},
+      {action: 'deleteHost', liClass:'', cssClass: 'icon-remove', 'label': this.t('hosts.host.details.deleteHost')},
       {action: 'setRackId', liClass:'', cssClass: 'icon-gear', 'label': this.t('hosts.host.details.setRackId')}
     ];
-    if (App.isAuthorized("HOST.TOGGLE_MAINTENANCE")) {
-      result.push({action: 'onOffPassiveModeForHost', liClass:'', cssClass: 'icon-medkit', active:this.get('isActive'), 'label': this.t('passiveState.turn' + onOff)});
-    }
-    if (App.isAuthorized("HOST.ADD_DELETE_HOSTS")) {
-      result.push({action: 'deleteHost', liClass:'', cssClass: 'icon-remove', 'label': this.t('hosts.host.details.deleteHost')});
-    }
-    return result;
   }.property('controller.content','isActive', 'controller.content.isNotHeartBeating'),
   didInsertElement: function() {
     var self = this;