keycloak-aplcache

Merge pull request #949 from mposolda/master KEYCLOAK-1025

2/6/2015 3:54:41 PM

Details

diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/index.html b/forms/common-themes/src/main/resources/theme/admin/base/resources/index.html
index 3e50295..6f56ee6 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/index.html
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/index.html
@@ -64,7 +64,7 @@
     <div data-ng-include data-src="'partials/menu.html'"></div>
 </header>
 
-<div class="container">
+<div class="container" data-ng-show="auth.hasAnyAccess">
     <div data-ng-view id="view"></div>
     <div id="loading" class="loading-backdrop">
         <div class="loading">
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/realm.js b/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/realm.js
index c9dfd55..ec05bb0 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/realm.js
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/realm.js
@@ -10,9 +10,22 @@ module.controller('GlobalCtrl', function($scope, $http, Auth, WhoAmI, Current, $
         $scope.serverInfo = ServerInfo.get();
     };
 
+    function hasAnyAccess() {
+        var realmAccess = Auth.user && Auth.user['realm_access'];
+        if (realmAccess) {
+            for (var p in realmAccess){
+                return true;
+            }
+            return false;
+        } else {
+            return false;
+        }
+    }
+
     WhoAmI.get(function (data) {
         Auth.user = data;
         Auth.loggedIn = true;
+        Auth.hasAnyAccess = hasAnyAccess();
     });
 
     function getAccess(role) {
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/menu.html b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/menu.html
index d7b6d7a..4c206fb 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/menu.html
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/menu.html
@@ -20,7 +20,7 @@
 		                </a>
 		                <ul class="dropdown-menu">
 		                    <li><a href="{{authUrl}}/realms/{{auth.user.realm}}/account?referrer=security-admin-console">Manage Account</a></li>
-		                    <li><a href="#/server-info">Server Info</a></li>
+		                    <li data-ng-show="auth.hasAnyAccess"><a href="#/server-info">Server Info</a></li>
 		                    <li class="separator"><a href="" ng-click="auth.authz.logout()">Sign Out</a></li>
 		                </ul>
 		            </li>
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/AdminConsole.java b/services/src/main/java/org/keycloak/services/resources/admin/AdminConsole.java
index 1e40865..0f8df52 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/AdminConsole.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/AdminConsole.java
@@ -207,10 +207,6 @@ public class AdminConsole {
             logger.debug("setting up realm access for a realm user");
             addRealmAccess(realm, user, realmAccess);
         }
-        if (realmAccess.size() == 0) {
-            return Response.status(401).build();
-        }
-
 
         return Response.ok(new WhoAmI(user.getId(), realm.getName(), displayName, createRealm, realmAccess)).build();
     }