keycloak-uncached

realm name in url

1/14/2014 2:38:00 AM

Changes

Details

diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/applications.js b/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/applications.js
index 2338abe..fc08bac 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/applications.js
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/applications.js
@@ -54,7 +54,7 @@ module.controller('ApplicationCredentialsCtrl', function($scope, $location, real
             }
         ];
 
-        ApplicationCredentials.update({ realm : realm.id, application : application.id }, creds,
+        ApplicationCredentials.update({ realm : realm.realm, application : application.id }, creds,
             function() {
                 Notifications.success('The password has been changed.');
                 $scope.password = null;
@@ -76,7 +76,7 @@ module.controller('ApplicationCredentialsCtrl', function($scope, $location, real
             }
         ];
 
-        ApplicationCredentials.update({ realm : realm.id, application : application.id }, creds,
+        ApplicationCredentials.update({ realm : realm.realm, application : application.id }, creds,
             function() {
                 Notifications.success('The totp was changed.');
                 $scope.totp = null;
@@ -122,7 +122,7 @@ module.controller('ApplicationRoleDetailCtrl', function($scope, realm, applicati
     $scope.save = function() {
         if ($scope.create) {
             ApplicationRole.save({
-                realm: realm.id,
+                realm: realm.realm,
                 application : application.id
             }, $scope.role, function (data, headers) {
                 $scope.changed = false;
@@ -130,12 +130,12 @@ module.controller('ApplicationRoleDetailCtrl', function($scope, realm, applicati
 
                 var l = headers().location;
                 var id = l.substring(l.lastIndexOf("/") + 1);
-                $location.url("/realms/" + realm.id + "/applications/" + application.id + "/roles/" + id);
+                $location.url("/realms/" + realm.realm + "/applications/" + application.id + "/roles/" + id);
                 Notifications.success("The role has been created.");
             });
         } else {
             ApplicationRole.update({
-                realm : realm.id,
+                realm : realm.realm,
                 application : application.id,
                 roleId : role.id
             }, $scope.role, function() {
@@ -152,17 +152,17 @@ module.controller('ApplicationRoleDetailCtrl', function($scope, realm, applicati
     };
 
     $scope.cancel = function() {
-        $location.url("/realms/" + realm.id + "/applications/" + application.id + "/roles");
+        $location.url("/realms/" + realm.realm + "/applications/" + application.id + "/roles");
     };
 
     $scope.remove = function() {
         Dialog.confirmDelete($scope.role.name, 'role', function() {
             $scope.role.$remove({
-                realm : realm.id,
+                realm : realm.realm,
                 application : application.id,
                 roleId : $scope.role.id
             }, function() {
-                $location.url("/realms/" + realm.id + "/applications/" + application.id + "/roles");
+                $location.url("/realms/" + realm.realm + "/applications/" + application.id + "/roles");
                 Notifications.success("The role has been deleted.");
             });
         });
@@ -233,17 +233,17 @@ module.controller('ApplicationDetailCtrl', function($scope, realm, application, 
     $scope.save = function() {
         if ($scope.create) {
             Application.save({
-                realm: realm.id
+                realm: realm.realm
             }, $scope.application, function (data, headers) {
                 $scope.changed = false;
                 var l = headers().location;
                 var id = l.substring(l.lastIndexOf("/") + 1);
-                $location.url("/realms/" + realm.id + "/applications/" + id);
+                $location.url("/realms/" + realm.realm + "/applications/" + id);
                 Notifications.success("The application has been created.");
             });
         } else {
             Application.update({
-                realm : realm.id,
+                realm : realm.realm,
                 id : application.id
             }, $scope.application, function() {
                 $scope.changed = false;
@@ -259,16 +259,16 @@ module.controller('ApplicationDetailCtrl', function($scope, realm, application, 
     };
 
     $scope.cancel = function() {
-        $location.url("/realms/" + realm.id + "/applications");
+        $location.url("/realms/" + realm.realm + "/applications");
     };
 
     $scope.remove = function() {
         Dialog.confirmDelete($scope.application.name, 'application', function() {
             $scope.application.$remove({
-                realm : realm.id,
+                realm : realm.realm,
                 id : $scope.application.id
             }, function() {
-                $location.url("/realms/" + realm.id + "/applications");
+                $location.url("/realms/" + realm.realm + "/applications");
                 Notifications.success("The application has been deleted.");
             });
         });
@@ -292,7 +292,7 @@ module.controller('ApplicationScopeMappingCtrl', function($scope, $http, realm, 
 
 
 
-    $scope.realmMappings = ApplicationRealmScopeMapping.query({realm : realm.id, application : application.id}, function(){
+    $scope.realmMappings = ApplicationRealmScopeMapping.query({realm : realm.realm, application : application.id}, function(){
         for (var i = 0; i < $scope.realmMappings.length; i++) {
             var role = $scope.realmMappings[i];
             for (var j = 0; j < $scope.realmRoles.length; j++) {
@@ -309,7 +309,7 @@ module.controller('ApplicationScopeMappingCtrl', function($scope, $http, realm, 
     });
 
     $scope.addRealmRole = function() {
-        $http.post('/auth/rest/admin/realms/' + realm.id + '/applications/' + application.id + '/scope-mappings/realm',
+        $http.post('/auth/rest/admin/realms/' + realm.realm + '/applications/' + application.id + '/scope-mappings/realm',
                 $scope.selectedRealmRoles).success(function() {
                 for (var i = 0; i < $scope.selectedRealmRoles.length; i++) {
                     var role = $scope.selectedRealmRoles[i];
@@ -324,7 +324,7 @@ module.controller('ApplicationScopeMappingCtrl', function($scope, $http, realm, 
     };
 
     $scope.deleteRealmRole = function() {
-        $http.delete('/auth/rest/admin/realms/' + realm.id + '/applications/' + application.id +  '/scope-mappings/realm',
+        $http.delete('/auth/rest/admin/realms/' + realm.realm + '/applications/' + application.id +  '/scope-mappings/realm',
             {data : $scope.selectedRealmMappings, headers : {"content-type" : "application/json"}}).success(function() {
                 for (var i = 0; i < $scope.selectedRealmMappings.length; i++) {
                     var role = $scope.selectedRealmMappings[i];
@@ -339,7 +339,7 @@ module.controller('ApplicationScopeMappingCtrl', function($scope, $http, realm, 
     };
 
     $scope.addApplicationRole = function() {
-        $http.post('/auth/rest/admin/realms/' + realm.id + '/applications/' + application.id +  '/scope-mappings/applications/' + $scope.targetApp.id,
+        $http.post('/auth/rest/admin/realms/' + realm.realm + '/applications/' + application.id +  '/scope-mappings/applications/' + $scope.targetApp.id,
                 $scope.selectedApplicationRoles).success(function() {
                 for (var i = 0; i < $scope.selectedApplicationRoles.length; i++) {
                     var role = $scope.selectedApplicationRoles[i];
@@ -354,7 +354,7 @@ module.controller('ApplicationScopeMappingCtrl', function($scope, $http, realm, 
     };
 
     $scope.deleteApplicationRole = function() {
-        $http.delete('/auth/rest/admin/realms/' + realm.id + '/applications/' + application.id +  '/scope-mappings/applications/' + $scope.targetApp.id,
+        $http.delete('/auth/rest/admin/realms/' + realm.realm + '/applications/' + application.id +  '/scope-mappings/applications/' + $scope.targetApp.id,
             {data : $scope.selectedApplicationMappings, headers : {"content-type" : "application/json"}}).success(function() {
                 for (var i = 0; i < $scope.selectedApplicationMappings.length; i++) {
                     var role = $scope.selectedApplicationMappings[i];
@@ -370,8 +370,8 @@ module.controller('ApplicationScopeMappingCtrl', function($scope, $http, realm, 
 
 
     $scope.changeApplication = function() {
-        $scope.applicationRoles = ApplicationRole.query({realm : realm.id, application : $scope.targetApp.id}, function() {
-                $scope.applicationMappings = ApplicationApplicationScopeMapping.query({realm : realm.id, application : application.id, targetApp : $scope.targetApp.id}, function(){
+        $scope.applicationRoles = ApplicationRole.query({realm : realm.realm, application : $scope.targetApp.id}, function() {
+                $scope.applicationMappings = ApplicationApplicationScopeMapping.query({realm : realm.realm, application : application.id, targetApp : $scope.targetApp.id}, function(){
                     for (var i = 0; i < $scope.applicationMappings.length; i++) {
                         var role = $scope.applicationMappings[i];
                         for (var j = 0; j < $scope.applicationRoles.length; j++) {
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/oauth-clients.js b/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/oauth-clients.js
index 4c43c66..7443130 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/oauth-clients.js
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/oauth-clients.js
@@ -42,7 +42,7 @@ module.controller('OAuthClientCredentialsCtrl', function($scope, $location, real
             }
         ];
 
-        OAuthClientCredentials.update({ realm : realm.id, oauth : oauth.id }, creds,
+        OAuthClientCredentials.update({ realm : realm.realm, oauth : oauth.id }, creds,
             function() {
                 Notifications.success('The password has been changed.');
                 $scope.password = null;
@@ -64,7 +64,7 @@ module.controller('OAuthClientCredentialsCtrl', function($scope, $location, real
             }
         ];
 
-        OAuthClientCredentials.update({ realm : realm.id, oauth : oauth.id }, creds,
+        OAuthClientCredentials.update({ realm : realm.realm, oauth : oauth.id }, creds,
             function() {
                 Notifications.success('The totp was changed.');
                 $scope.totp = null;
@@ -133,17 +133,17 @@ module.controller('OAuthClientDetailCtrl', function($scope, realm, oauth, OAuthC
     $scope.save = function() {
         if ($scope.create) {
             OAuthClient.save({
-                realm: realm.id
+                realm: realm.realm
             }, $scope.oauth, function (data, headers) {
                 $scope.changed = false;
                 var l = headers().location;
                 var id = l.substring(l.lastIndexOf("/") + 1);
-                $location.url("/realms/" + realm.id + "/oauth-clients/" + id);
+                $location.url("/realms/" + realm.realm + "/oauth-clients/" + id);
                 Notifications.success("The oauth client has been created.");
             });
         } else {
             OAuthClient.update({
-                realm : realm.id,
+                realm : realm.realm,
                 id : oauth.id
             }, $scope.oauth, function() {
                 $scope.changed = false;
@@ -159,16 +159,16 @@ module.controller('OAuthClientDetailCtrl', function($scope, realm, oauth, OAuthC
     };
 
     $scope.cancel = function() {
-        $location.url("/realms/" + realm.id + "/oauth-clients");
+        $location.url("/realms/" + realm.realm + "/oauth-clients");
     };
 
     $scope.remove = function() {
         Dialog.confirmDelete($scope.oauth.name, 'oauth', function() {
             $scope.oauth.$remove({
-                realm : realm.id,
+                realm : realm.realm,
                 id : $scope.oauth.id
             }, function() {
-                $location.url("/realms/" + realm.id + "/oauth-clients");
+                $location.url("/realms/" + realm.realm + "/oauth-clients");
                 Notifications.success("The oauth client has been deleted.");
             });
         });
@@ -192,7 +192,7 @@ module.controller('OAuthClientScopeMappingCtrl', function($scope, $http, realm, 
 
 
 
-    $scope.realmMappings = OAuthClientRealmScopeMapping.query({realm : realm.id, oauth : oauth.id}, function(){
+    $scope.realmMappings = OAuthClientRealmScopeMapping.query({realm : realm.realm, oauth : oauth.id}, function(){
         for (var i = 0; i < $scope.realmMappings.length; i++) {
             var role = $scope.realmMappings[i];
             for (var j = 0; j < $scope.realmRoles.length; j++) {
@@ -209,7 +209,7 @@ module.controller('OAuthClientScopeMappingCtrl', function($scope, $http, realm, 
     });
 
     $scope.addRealmRole = function() {
-        $http.post('/auth/rest/admin/realms/' + realm.id + '/oauth-clients/' + oauth.id + '/scope-mappings/realm',
+        $http.post('/auth/rest/admin/realms/' + realm.realm + '/oauth-clients/' + oauth.id + '/scope-mappings/realm',
                 $scope.selectedRealmRoles).success(function() {
                 for (var i = 0; i < $scope.selectedRealmRoles.length; i++) {
                     var role = $scope.selectedRealmRoles[i];
@@ -224,7 +224,7 @@ module.controller('OAuthClientScopeMappingCtrl', function($scope, $http, realm, 
     };
 
     $scope.deleteRealmRole = function() {
-        $http.delete('/auth/rest/admin/realms/' + realm.id + '/oauth-clients/' + oauth.id +  '/scope-mappings/realm',
+        $http.delete('/auth/rest/admin/realms/' + realm.realm + '/oauth-clients/' + oauth.id +  '/scope-mappings/realm',
             {data : $scope.selectedRealmMappings, headers : {"content-type" : "application/json"}}).success(function() {
                 for (var i = 0; i < $scope.selectedRealmMappings.length; i++) {
                     var role = $scope.selectedRealmMappings[i];
@@ -239,7 +239,7 @@ module.controller('OAuthClientScopeMappingCtrl', function($scope, $http, realm, 
     };
 
     $scope.addApplicationRole = function() {
-        $http.post('/auth/rest/admin/realms/' + realm.id + '/oauth-clients/' + oauth.id +  '/scope-mappings/applications/' + $scope.targetApp.id,
+        $http.post('/auth/rest/admin/realms/' + realm.realm + '/oauth-clients/' + oauth.id +  '/scope-mappings/applications/' + $scope.targetApp.id,
                 $scope.selectedApplicationRoles).success(function() {
                 for (var i = 0; i < $scope.selectedApplicationRoles.length; i++) {
                     var role = $scope.selectedApplicationRoles[i];
@@ -254,7 +254,7 @@ module.controller('OAuthClientScopeMappingCtrl', function($scope, $http, realm, 
     };
 
     $scope.deleteApplicationRole = function() {
-        $http.delete('/auth/rest/admin/realms/' + realm.id + '/oauth-clients/' + oauth.id +  '/scope-mappings/applications/' + $scope.targetApp.id,
+        $http.delete('/auth/rest/admin/realms/' + realm.realm + '/oauth-clients/' + oauth.id +  '/scope-mappings/applications/' + $scope.targetApp.id,
             {data : $scope.selectedApplicationMappings, headers : {"content-type" : "application/json"}}).success(function() {
                 for (var i = 0; i < $scope.selectedApplicationMappings.length; i++) {
                     var role = $scope.selectedApplicationMappings[i];
@@ -270,8 +270,8 @@ module.controller('OAuthClientScopeMappingCtrl', function($scope, $http, realm, 
 
 
     $scope.changeApplication = function() {
-        $scope.applicationRoles = ApplicationRole.query({realm : realm.id, application : $scope.targetApp.id}, function() {
-                $scope.applicationMappings = OAuthClientApplicationScopeMapping.query({realm : realm.id, oauth : oauth.id, targetApp : $scope.targetApp.id}, function(){
+        $scope.applicationRoles = ApplicationRole.query({realm : realm.realm, application : $scope.targetApp.id}, function() {
+                $scope.applicationMappings = OAuthClientApplicationScopeMapping.query({realm : realm.realm, oauth : oauth.id, targetApp : $scope.targetApp.id}, function(){
                     for (var i = 0; i < $scope.applicationMappings.length; i++) {
                         var role = $scope.applicationMappings[i];
                         for (var j = 0; j < $scope.applicationRoles.length; j++) {
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/realm.js b/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/realm.js
index 72bd806..6a97145 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/realm.js
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/realm.js
@@ -50,7 +50,7 @@ module.controller('RealmDropdownCtrl', function($scope, Realm, Current, Auth, $l
 //    Current.realms = Realm.get();
     $scope.current = Current;
     $scope.changeRealm = function() {
-        $location.url("/realms/" + $scope.current.realm.id);
+        $location.url("/realms/" + $scope.current.realm.realm);
     };
     $scope.showNav = function() {
         var show = Current.realms.length > 0;
@@ -143,7 +143,7 @@ module.controller('RealmCreateCtrl', function($scope, Current, Realm, $upload, $
 
 
 module.controller('RealmDetailCtrl', function($scope, Current, Realm, realm, $http, $location, Dialog, Notifications) {
-    $scope.createRealm = !realm.id;
+    $scope.createRealm = !realm.realm;
 
     console.log('RealmDetailCtrl');
 
@@ -154,15 +154,15 @@ module.controller('RealmDetailCtrl', function($scope, Current, Realm, realm, $ht
             cookieLoginAllowed: true
         };
     } else {
-        if (Current.realm == null || Current.realm.id != realm.id) {
+        if (Current.realm == null || Current.realm.realm != realm.realm) {
             for (var i = 0; i < Current.realms.length; i++) {
-                if (realm.id == Current.realms[i].id) {
+                if (realm.realm == Current.realms[i].id) {
                     Current.realm = Current.realms[i];
                     break;
                 }
             }
         }
-        if (Current.realm == null || Current.realm.id != realm.id) {
+        if (Current.realm == null || Current.realm.realm != realm.realm) {
             console.log('should be unreachable');
             console.log('Why? ' + Current.realms.length + ' ' + Current.realm);
             return;
@@ -242,7 +242,7 @@ module.controller('RealmDetailCtrl', function($scope, Current, Realm, realm, $ht
 
     $scope.remove = function() {
         Dialog.confirmDelete($scope.realm.realm, 'realm', function() {
-            Realm.remove({ id : $scope.realm.id }, function() {
+            Realm.remove({ id : $scope.realm.realm }, function() {
                 Current.realms = Realm.query();
                 Notifications.success("The realm has been deleted.");
                 $location.url("/");
@@ -255,7 +255,7 @@ module.controller('RealmRequiredCredentialsCtrl', function($scope, Realm, realm,
     console.log('RealmRequiredCredentialsCtrl');
 
     $scope.realm = {
-        id : realm.id, realm : realm.realm, social : realm.social,
+        id : realm.realm, realm : realm.realm, social : realm.social,
         requiredCredentials : realm.requiredCredentials,
         requiredApplicationCredentials : realm.requiredApplicationCredentials,
         requiredOAuthClientCredentials : realm.requiredOAuthClientCredentials,
@@ -406,7 +406,7 @@ module.controller('RealmRequiredCredentialsCtrl', function($scope, Realm, realm,
         $scope.changed = false;
 
         Realm.update($scope.realm, function () {
-            $location.url("/realms/" + realm.id + "/required-credentials");
+            $location.url("/realms/" + realm.realm + "/required-credentials");
             Notifications.success("Your changes have been saved to the realm.");
             oldCopy = angular.copy($scope.realm);
         });
@@ -498,7 +498,7 @@ module.controller('RealmRegistrationCtrl', function ($scope, Realm, realm, appli
         $scope.selectedAppDefRoles = [];
 
         // Populate available roles for selected application
-        var appDefaultRoles = ApplicationRole.query({realm: $scope.realm.id, application: $scope.application.id}, function () {
+        var appDefaultRoles = ApplicationRole.query({realm: $scope.realm.realm, application: $scope.application.id}, function () {
 
             if (!$scope.application.hasOwnProperty('defaultRoles') || $scope.application.defaultRoles === null) {
                 $scope.application.defaultRoles = [];
@@ -535,7 +535,7 @@ module.controller('RealmRegistrationCtrl', function ($scope, Realm, realm, appli
 
         // Update/save the selected application with new default roles.
         Application.update({
-            realm: $scope.realm.id,
+            realm: $scope.realm.realm,
             id: $scope.application.id
         }, $scope.application, function () {
             Notifications.success("Your changes have been saved to the application.");
@@ -559,7 +559,7 @@ module.controller('RealmRegistrationCtrl', function ($scope, Realm, realm, appli
 
         // Update/save the selected application with new default roles.
         Application.update({
-            realm: $scope.realm.id,
+            realm: $scope.realm.realm,
             id: $scope.application.id
         }, $scope.application, function () {
             Notifications.success("Your changes have been saved to the application.");
@@ -672,7 +672,7 @@ module.controller('RealmSocialCtrl', function($scope, realm, Realm, $location, N
         realmCopy.social = true;
         $scope.changed = false;
         Realm.update(realmCopy, function () {
-            $location.url("/realms/" + realm.id + "/social-settings");
+            $location.url("/realms/" + realm.realm + "/social-settings");
             Notifications.success("Saved changes to realm");
             oldCopy = realmCopy;
         });
@@ -741,7 +741,7 @@ module.controller('RealmTokenDetailCtrl', function($scope, Realm, realm, $http, 
 
         $scope.changed = false;
         Realm.update(realmCopy, function () {
-            $location.url("/realms/" + realm.id + "/token-settings");
+            $location.url("/realms/" + realm.realm + "/token-settings");
             Notifications.success("Your changes have been saved to the realm.");
         });
     };
@@ -757,9 +757,9 @@ module.controller('RealmKeysDetailCtrl', function($scope, Realm, realm, $http, $
 
     $scope.generate = function() {
         Dialog.confirmGenerateKeys($scope.realm.realm, 'realm', function() {
-                Realm.update({ id: realm.id, publicKey : 'GENERATE' }, function () {
+                Realm.update({ id: realm.realm, publicKey : 'GENERATE' }, function () {
                 Notifications.success('New keys generated for realm.');
-                Realm.get({ id : realm.id }, function(updated) {
+                Realm.get({ id : realm.realm }, function(updated) {
                     $scope.realm = updated;
                 })
             });
@@ -801,19 +801,19 @@ module.controller('RoleDetailCtrl', function($scope, realm, role, Role, $locatio
     $scope.save = function() {
         if ($scope.create) {
             Role.save({
-                realm: realm.id
+                realm: realm.realm
             }, $scope.role, function (data, headers) {
                 $scope.changed = false;
                 role = angular.copy($scope.role);
 
                 var l = headers().location;
                 var id = l.substring(l.lastIndexOf("/") + 1);
-                $location.url("/realms/" + realm.id + "/roles/" + id);
+                $location.url("/realms/" + realm.realm + "/roles/" + id);
                 Notifications.success("The role has been created.");
             });
         } else {
             Role.update({
-                realm : realm.id,
+                realm : realm.realm,
                 roleId : role.id
             }, $scope.role, function() {
                 $scope.changed = false;
@@ -829,16 +829,16 @@ module.controller('RoleDetailCtrl', function($scope, realm, role, Role, $locatio
     };
 
     $scope.cancel = function() {
-        $location.url("/realms/" + realm.id + "/roles");
+        $location.url("/realms/" + realm.realm + "/roles");
     };
 
     $scope.remove = function() {
         Dialog.confirmDelete($scope.role.name, 'role', function() {
             $scope.role.$remove({
-                realm : realm.id,
+                realm : realm.realm,
                 roleId : $scope.role.id
             }, function() {
-                $location.url("/realms/" + realm.id + "/roles");
+                $location.url("/realms/" + realm.realm + "/roles");
                 Notifications.success("The role has been deleted.");
             });
         });
@@ -869,7 +869,7 @@ module.controller('RealmSMTPSettingsCtrl', function($scope, Current, Realm, real
         realmCopy['smtpServer'] = detypeObject(realmCopy.smtpServer);
         $scope.changed = false;
         Realm.update(realmCopy, function () {
-            $location.url("/realms/" + realm.id + "/smtp-settings");
+            $location.url("/realms/" + realm.realm + "/smtp-settings");
             Notifications.success("Your changes have been saved to the realm.");
         });
     };
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/users.js b/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/users.js
index 6eb6986..cf73bf9 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/users.js
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/users.js
@@ -13,7 +13,7 @@ module.controller('UserRoleMappingCtrl', function($scope, $http, realm, user, ro
 
 
 
-    $scope.realmMappings = RealmRoleMapping.query({realm : realm.id, userId : user.username}, function(){
+    $scope.realmMappings = RealmRoleMapping.query({realm : realm.realm, userId : user.username}, function(){
         for (var i = 0; i < $scope.realmMappings.length; i++) {
             var role = $scope.realmMappings[i];
             for (var j = 0; j < $scope.realmRoles.length; j++) {
@@ -30,7 +30,7 @@ module.controller('UserRoleMappingCtrl', function($scope, $http, realm, user, ro
     });
 
     $scope.addRealmRole = function() {
-        $http.post('/auth/rest/admin/realms/' + realm.id + '/users/' + user.username + '/role-mappings/realm',
+        $http.post('/auth/rest/admin/realms/' + realm.realm + '/users/' + user.username + '/role-mappings/realm',
                 $scope.selectedRealmRoles).success(function() {
                 for (var i = 0; i < $scope.selectedRealmRoles.length; i++) {
                     var role = $scope.selectedRealmRoles[i];
@@ -45,7 +45,7 @@ module.controller('UserRoleMappingCtrl', function($scope, $http, realm, user, ro
     };
 
     $scope.deleteRealmRole = function() {
-        $http.delete('/auth/rest/admin/realms/' + realm.id + '/users/' + user.username + '/role-mappings/realm',
+        $http.delete('/auth/rest/admin/realms/' + realm.realm + '/users/' + user.username + '/role-mappings/realm',
             {data : $scope.selectedRealmMappings, headers : {"content-type" : "application/json"}}).success(function() {
                 for (var i = 0; i < $scope.selectedRealmMappings.length; i++) {
                     var role = $scope.selectedRealmMappings[i];
@@ -60,7 +60,7 @@ module.controller('UserRoleMappingCtrl', function($scope, $http, realm, user, ro
     };
 
     $scope.addApplicationRole = function() {
-        $http.post('/auth/rest/admin/realms/' + realm.id + '/users/' + user.username + '/role-mappings/applications/' + $scope.application.id,
+        $http.post('/auth/rest/admin/realms/' + realm.realm + '/users/' + user.username + '/role-mappings/applications/' + $scope.application.id,
                 $scope.selectedApplicationRoles).success(function() {
                 for (var i = 0; i < $scope.selectedApplicationRoles.length; i++) {
                     var role = $scope.selectedApplicationRoles[i];
@@ -75,7 +75,7 @@ module.controller('UserRoleMappingCtrl', function($scope, $http, realm, user, ro
     };
 
     $scope.deleteApplicationRole = function() {
-        $http.delete('/auth/rest/admin/realms/' + realm.id + '/users/' + user.username + '/role-mappings/applications/' + $scope.application.id,
+        $http.delete('/auth/rest/admin/realms/' + realm.realm + '/users/' + user.username + '/role-mappings/applications/' + $scope.application.id,
             {data : $scope.selectedApplicationMappings, headers : {"content-type" : "application/json"}}).success(function() {
                 for (var i = 0; i < $scope.selectedApplicationMappings.length; i++) {
                     var role = $scope.selectedApplicationMappings[i];
@@ -91,8 +91,8 @@ module.controller('UserRoleMappingCtrl', function($scope, $http, realm, user, ro
 
 
     $scope.changeApplication = function() {
-        $scope.applicationRoles = ApplicationRole.query({realm : realm.id, userId : user.username, application : $scope.application.id}, function() {
-                $scope.applicationMappings = ApplicationRoleMapping.query({realm : realm.id, userId : user.username, application : $scope.application.id}, function(){
+        $scope.applicationRoles = ApplicationRole.query({realm : realm.realm, userId : user.username, application : $scope.application.id}, function() {
+                $scope.applicationMappings = ApplicationRoleMapping.query({realm : realm.realm, userId : user.username, application : $scope.application.id}, function(){
                     for (var i = 0; i < $scope.applicationMappings.length; i++) {
                         var role = $scope.applicationMappings[i];
                         for (var j = 0; j < $scope.applicationRoles.length; j++) {
@@ -122,7 +122,7 @@ module.controller('UserListCtrl', function($scope, realm, User) {
         $scope.searchLoaded = false;
         $scope.currentSearch = $scope.search;
 
-        var params = { realm: realm.id };
+        var params = { realm: realm.realm };
         if ($scope.search) {
             params.search = $scope.search;
         }
@@ -185,17 +185,17 @@ module.controller('UserDetailCtrl', function($scope, realm, user, User, $locatio
     $scope.save = function() {
         if ($scope.create) {
             User.save({
-                realm: realm.id
+                realm: realm.realm
             }, $scope.user, function () {
                 $scope.changed = false;
                 user = angular.copy($scope.user);
 
-                $location.url("/realms/" + realm.id + "/users/" + $scope.user.username);
+                $location.url("/realms/" + realm.realm + "/users/" + $scope.user.username);
                 Notifications.success("The user has been created.");
             });
         } else {
             User.update({
-                realm: realm.id,
+                realm: realm.realm,
                 userId: $scope.user.username
             }, $scope.user, function () {
                 $scope.changed = false;
@@ -211,16 +211,16 @@ module.controller('UserDetailCtrl', function($scope, realm, user, User, $locatio
     };
 
     $scope.cancel = function() {
-        $location.url("/realms/" + realm.id + "/users");
+        $location.url("/realms/" + realm.realm + "/users");
     };
 
     $scope.remove = function() {
         Dialog.confirmDelete($scope.user.username, 'user', function() {
             $scope.user.$remove({
-                realm : realm.id,
+                realm : realm.realm,
                 userId : $scope.user.username
             }, function() {
-                $location.url("/realms/" + realm.id + "/users");
+                $location.url("/realms/" + realm.realm + "/users");
                 Notifications.success("The user has been deleted.");
             });
         });
@@ -259,7 +259,7 @@ module.controller('UserCredentialsCtrl', function($scope, realm, user, User, Use
         var credentials = [ { type : "password", value : $scope.password } ];
 
         User.update({
-            realm: realm.id,
+            realm: realm.realm,
             userId: $scope.user.username
         }, $scope.user, function () {
 
@@ -267,7 +267,7 @@ module.controller('UserCredentialsCtrl', function($scope, realm, user, User, Use
 
             if ($scope.pwdChange){
                 UserCredentials.update({
-                    realm: realm.id,
+                    realm: realm.realm,
                     userId: $scope.user.username
                 }, credentials, function () {
                     Notifications.success("The password has been reset. The user is required to change his password on" +
@@ -326,7 +326,7 @@ module.controller('UserCredentialsCtrl', function($scope, realm, user, User, Use
 
 module.controller('RoleMappingCtrl', function($scope, realm, User, users, role, RoleMapping, Notifications) {
     $scope.realm = realm;
-    $scope.realmId = realm.realm || realm.id;
+    $scope.realmId = realm.realm || realm.realm;
     $scope.allUsers = User.query({ realm : $scope.realmId });
     $scope.users = users;
     $scope.role = role;
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-credentials.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-credentials.html
index b39ece6..94e5145 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-credentials.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-credentials.html
@@ -4,19 +4,19 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav">
                 <ul class="rcue-tabs">
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">Settings</a></li>
-                    <li class="active"><a href="#/realms/{{realm.id}}/applications/{{application.id}}/credentials">Credentials</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/installation">Installation</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles">Roles</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/sessions">Sessions</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">Settings</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/credentials">Credentials</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/installation">Installation</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles">Roles</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/sessions">Sessions</a></li>
                 </ul>
             </div>
             <div id="content">
                 <ol class="breadcrumb" data-ng-hide="create">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications">Applications</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">{{application.name}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications">Applications</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">{{application.name}}</a></li>
                     <li class="active">Credentials</li>
                 </ol>
                 <h2 data-ng-hide="create"><span>{{application.name}}</span> Credentials</h2>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-detail.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-detail.html
index f966317..9c83a6d 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-detail.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-detail.html
@@ -4,12 +4,12 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav" data-ng-show="!create">
                 <ul class="rcue-tabs">
-                    <li class="active"><a href="#/realms/{{realm.id}}/applications/{{application.id}}">Settings</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/credentials">Credentials</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/installation">Installation</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles">Roles</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/sessions">Sessions</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">Settings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/credentials">Credentials</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/installation">Installation</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles">Roles</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/sessions">Sessions</a></li>
                 </ul>
             </div>
             <div class="top-nav" data-ng-show="create">
@@ -19,16 +19,16 @@
             </div>
             <div id="content">
                 <ol class="breadcrumb" data-ng-show="create">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications">Applications</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications">Applications</a></li>
                     <li class="active">Add Application</li>
                 </ol>
                 <h2 class="pull-left" data-ng-show="create"><span>{{realm.realm}}</span> Add Application</h2>
                 <p class="subtitle" data-ng-show="create"><span class="required">*</span> Required fields</p>
                 <ol class="breadcrumb" data-ng-hide="create">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications">Applications</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">{{application.name}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications">Applications</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">{{application.name}}</a></li>
                     <li class="active">Settings</li>
                 </ol>
                 <h2 data-ng-hide="create"><span>{{application.name}}</span> Settings</h2>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-installation.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-installation.html
index 89c1e75..773d034 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-installation.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-installation.html
@@ -4,12 +4,12 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav" data-ng-show="!create">
                 <ul class="rcue-tabs">
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">Settings</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/credentials">Credentials</a></li>
-                    <li class="active"><a href="#/realms/{{realm.id}}/applications/{{application.id}}/installation">Installation</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles">Roles</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/sessions">Sessions</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">Settings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/credentials">Credentials</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/installation">Installation</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles">Roles</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/sessions">Sessions</a></li>
                 </ul>
             </div>
             <div class="top-nav" data-ng-show="create">
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-list.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-list.html
index a3b1936..b683121 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-list.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-list.html
@@ -9,12 +9,12 @@
             </div>
             <div id="content">
                 <ol class="breadcrumb">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
                     <li class="active">Applications</li>
                 </ol>
                 <h2><span>{{realm.realm}}</span> Applications</h2>
                 <div class="feedback info inline" data-ng-show="!applications || applications.length == 0">
-                    <p><strong>You have not configured applications.</strong> <a class="button" href="#/create/application/{{realm.id}}">Add Application</a></p>
+                    <p><strong>You have not configured applications.</strong> <a class="button" href="#/create/application/{{realm.realm}}">Add Application</a></p>
                 </div>
                 <table data-ng-hide="applications.length == 0">
                     <thead>
@@ -29,7 +29,7 @@
                                 </button>
                             </div>
                             <div class="actions">
-                                <a class="button" href="#/create/application/{{realm.id}}">Add Application</a>
+                                <a class="button" href="#/create/application/{{realm.realm}}">Add Application</a>
                             </div>
                         </th>
                     </tr>
@@ -53,7 +53,7 @@
                     </tfoot>
                     <tbody>
                     <tr ng-repeat="app in applications | filter:search">
-                        <td><a href="#/realms/{{realm.id}}/applications/{{app.id}}">{{app.name}}</a></td>
+                        <td><a href="#/realms/{{realm.realm}}/applications/{{app.id}}">{{app.name}}</a></td>
                         <td>{{app.enabled}}</td>
                         <td ng-class="{'text-muted': !app.baseUrl}">{{app.baseUrl || "Not defined"}}</td>
                     </tr>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-role-detail.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-role-detail.html
index fe77951..c5ddb25 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-role-detail.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-role-detail.html
@@ -4,30 +4,30 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav">
                 <ul class="rcue-tabs">
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">Settings</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/credentials">Credentials</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/installation">Installation</a></li>
-                    <li class="active"><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles">Roles</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/sessions">Sessions</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">Settings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/credentials">Credentials</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/installation">Installation</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles">Roles</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/sessions">Sessions</a></li>
                 </ul>
             </div>
             <div id="content">
                 <ol class="breadcrumb" data-ng-show="create">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications">Applications</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">{{application.name}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles">Roles</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications">Applications</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">{{application.name}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles">Roles</a></li>
                     <li class="active">Add role</li>
                 </ol>
                 <h2 class="pull-left" data-ng-show="create"><span>{{application.name}}</span> Add Role</h2>
                 <p class="subtitle" data-ng-show="create"><span class="required">*</span> Required fields</p>
                 
                 <ol class="breadcrumb" data-ng-hide="create">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications">Applications</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">{{application.name}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles">Roles</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications">Applications</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">{{application.name}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles">Roles</a></li>
                     <li class="active">{{role.name}}</li>
                 </ol>
 
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-role-list.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-role-list.html
index f747dbd..b497e24 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-role-list.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-role-list.html
@@ -4,24 +4,24 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav">
                 <ul class="rcue-tabs">
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">Settings</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/credentials">Credentials</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/installation">Installation</a></li>
-                    <li class="active"><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles">Roles</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/sessions">Sessions</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">Settings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/credentials">Credentials</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/installation">Installation</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles">Roles</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/sessions">Sessions</a></li>
                 </ul>
             </div>
             <div id="content">
                 <ol class="breadcrumb" data-ng-hide="create">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications">Applications</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">{{application.name}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications">Applications</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">{{application.name}}</a></li>
                     <li class="active">Roles</li>
                 </ol>
                 <h2><span>{{application.name}}</span> Roles</h2>
                 <div class="feedback info inline" data-ng-show="!roles || roles.length == 0">
-                    <p><strong>You have not configured application roles.</strong> <a class="button" href="#/create/role/{{realm.id}}/applications/{{application.id}}">Add Role</a></p>
+                    <p><strong>You have not configured application roles.</strong> <a class="button" href="#/create/role/{{realm.realm}}/applications/{{application.id}}">Add Role</a></p>
                 </div>
                 <table data-ng-hide="!roles || roles.length == 0">
                     <caption data-ng-show="roles && roles.length > 0" class="hidden">Table of realm roles</caption>
@@ -29,7 +29,7 @@
                         <tr>
                             <th class="rcue-table-actions" colspan="2">
                                 <div class="actions">
-                                    <a class="button" href="#/create/role/{{realm.id}}/applications/{{application.id}}">Add Role</a>
+                                    <a class="button" href="#/create/role/{{realm.realm}}/applications/{{application.id}}">Add Role</a>
                                     <!-- <button class="remove disabled">Remove</button> -->
                                 </div>
                             </th>
@@ -64,7 +64,7 @@
                     </tfoot>
                     <tbody>
                     <tr ng-repeat="role in roles">
-                        <td><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles/{{role.id}}">{{role.name}}</a></td>
+                        <td><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles/{{role.id}}">{{role.name}}</a></td>
                         <td>{{role.description}}</td>
                     </tr>
                     </tbody>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-scope-mappings.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-scope-mappings.html
index cade20d..2e9b94a 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-scope-mappings.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-scope-mappings.html
@@ -4,19 +4,19 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav">
                 <ul class="rcue-tabs">
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">Settings</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/credentials">Credentials</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">Settings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/credentials">Credentials</a></li>
                     <li><a href="#">Installation</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles">Roles</a></li>
-                    <li class="active"><a href="#/realms/{{realm.id}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/sessions">Sessions</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles">Roles</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/sessions">Sessions</a></li>
                 </ul>
             </div>
             <div id="content">
                 <ol class="breadcrumb" data-ng-hide="create">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications">Applications</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">{{application.name}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications">Applications</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">{{application.name}}</a></li>
                     <li class="active">Scope</li>
                 </ol>
                 <h2 class="pull-left"><span>{{application.name}}</span> Scope Mappings</h2>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-sessions.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-sessions.html
index d39a60b..1c5aa76 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-sessions.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-sessions.html
@@ -4,19 +4,19 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav">
                 <ul class="rcue-tabs">
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">Settings</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/credentials">Credentials</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/installation">Installation</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles">Roles</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
-                    <li class="active"><a href="#/realms/{{realm.id}}/applications/{{application.id}}/sessions">Sessions</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">Settings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/credentials">Credentials</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/installation">Installation</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles">Roles</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/sessions">Sessions</a></li>
                 </ul>
             </div>
             <div id="content">
                 <ol class="breadcrumb" data-ng-hide="create">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications">Applications</a></li>
-                    <li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">{{application.name}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications">Applications</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">{{application.name}}</a></li>
                     <li class="active">Sessions</li>
                 </ol>
                 <h2 data-ng-hide="create"><span>{{application.name}}</span> Sessions (Placeholder Page)</h2>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-credentials.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-credentials.html
index 2605f53..8ce6073 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-credentials.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-credentials.html
@@ -4,17 +4,17 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav">
                 <ul class="rcue-tabs">
-                    <li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}">Settings</a></li>
-                    <li class="active"><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/credentials">Credentials</a></li>
-                    <li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/scope-mappings">Scope</a></li>
-                    <li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/installation">Installation</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}">Settings</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/credentials">Credentials</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/scope-mappings">Scope</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/installation">Installation</a></li>
                 </ul>
             </div>
             <div id="content">
                 <ol class="breadcrumb" data-ng-hide="create">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}/oauth-clients">OAuth Clients</a></li>
-                    <li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}">{{oauth.name}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/oauth-clients">OAuth Clients</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}">{{oauth.name}}</a></li>
                     <li class="active">Credentials</li>
                 </ol>
                 <h2 data-ng-hide="create"><span>{{oauth.name}}</span> Credentials</h2>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-detail.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-detail.html
index 5f3ac72..528bf6e 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-detail.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-detail.html
@@ -4,10 +4,10 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav" data-ng-show="!create">
                 <ul class="rcue-tabs">
-                    <li class="active"><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}">Settings</a></li>
-                    <li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/credentials">Credentials</a></li>
-                    <li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/scope-mappings">Scope</a></li>
-                    <li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/installation">Installation</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}">Settings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/credentials">Credentials</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/scope-mappings">Scope</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/installation">Installation</a></li>
                 </ul>
             </div>
             <div class="top-nav" data-ng-show="create">
@@ -17,16 +17,16 @@
             </div>
             <div id="content">
                 <ol class="breadcrumb" data-ng-show="create">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}/oauth-clients">OAuth Clients</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/oauth-clients">OAuth Clients</a></li>
                     <li class="active">Add OAuth Client</li>
                 </ol>
                 <h2 class="pull-left" data-ng-show="create"><span>{{realm.realm}}</span> Add OAuth Client</h2>
                 <p class="subtitle" data-ng-show="create"><span class="required">*</span> Required fields</p>
                 <ol class="breadcrumb" data-ng-hide="create">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}/oauth-clients">OAuth Clients</a></li>
-                    <li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}">{{oauth.name}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/oauth-clients">OAuth Clients</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}">{{oauth.name}}</a></li>
                     <li class="active">Settings</li>
                 </ol>
                 <h2 data-ng-hide="create"><span>{{oauth.name}}</span> Settings</h2>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-installation.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-installation.html
index 94708a9..07a0c80 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-installation.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-installation.html
@@ -4,10 +4,10 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav" data-ng-show="!create">
                 <ul class="rcue-tabs">
-                    <li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}">Settings</a></li>
-                    <li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/credentials">Credentials</a></li>
-                    <li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/scope-mappings">Scope</a></li>
-                    <li class="active"><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/installation">Installation</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}">Settings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/credentials">Credentials</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/scope-mappings">Scope</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/installation">Installation</a></li>
                 </ul>
             </div>
             <div class="top-nav" data-ng-show="create">
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-list.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-list.html
index edd2ce5..6613d1b 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-list.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-list.html
@@ -9,12 +9,12 @@
             </div>
             <div id="content">
                 <ol class="breadcrumb">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
                     <li class="active">OAuth Clients</li>
                 </ol>
                 <h2><span>{{realm.realm}}</span> OAuth Clients</h2>
                 <div class="feedback info inline" data-ng-show="!oauthClients || oauthClients.length == 0">
-                    <p><strong>You have not configured oauth clients.</strong> <a class="button" href="#/create/oauth-client/{{realm.id}}">Add OAuth Client</a></p>
+                    <p><strong>You have not configured oauth clients.</strong> <a class="button" href="#/create/oauth-client/{{realm.realm}}">Add OAuth Client</a></p>
                 </div>
                 <table data-ng-hide="oauthClients.length == 0">
                     <thead>
@@ -29,7 +29,7 @@
                                 </button>
                             </div>
                             <div class="actions">
-                                <a class="button" href="#/create/oauth-client/{{realm.id}}">Add OAuth Client</a>
+                                <a class="button" href="#/create/oauth-client/{{realm.realm}}">Add OAuth Client</a>
                             </div>
                         </th>
                     </tr>
@@ -52,7 +52,7 @@
                     </tfoot>
                     <tbody>
                     <tr ng-repeat="client in oauthClients">
-                        <td><a href="#/realms/{{realm.id}}/oauth-clients/{{client.id}}">{{client.name}}</a></td>
+                        <td><a href="#/realms/{{realm.realm}}/oauth-clients/{{client.id}}">{{client.name}}</a></td>
                         <td>{{client.enabled}}</td>
                     </tr>
                     </tbody>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-scope-mappings.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-scope-mappings.html
index 0d8e856..38606b5 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-scope-mappings.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/oauth-client-scope-mappings.html
@@ -4,17 +4,17 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav">
                 <ul class="rcue-tabs">
-                    <li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}">Settings</a></li>
-                    <li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/credentials">Credentials</a></li>
-                    <li class="active"><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/scope-mappings">Scope</a></li>
-                    <li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/installation">Installation</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}">Settings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/credentials">Credentials</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/scope-mappings">Scope</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/installation">Installation</a></li>
                 </ul>
             </div>
             <div id="content">
                 <ol class="breadcrumb" data-ng-hide="create">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}/oauth-clients">OAuth Clients</a></li>
-                    <li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}">{{oauth.name}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/oauth-clients">OAuth Clients</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}">{{oauth.name}}</a></li>
                     <li class="active">Scope</li>
                 </ol>
                 <h2 class="pull-left"><span>{{oauth.name}}</span> Scope Mappings</h2>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-credentials.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-credentials.html
index 9ddead0..9d0e0f6 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-credentials.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-credentials.html
@@ -4,20 +4,20 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav" data-ng-hide="createRealm">
                 <ul class="rcue-tabs">
-                    <li><a href="#/realms/{{realm.id}}">General</a></li>
-                    <li data-ng-show="realm.social"><a href="#/realms/{{realm.id}}/social-settings">Social</a></li>
-                    <li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.id}}/registration-settings">Registration</a></li>
-                    <li><a href="#/realms/{{realm.id}}/roles">Roles</a></li>
-                    <li class="active"><a href="#/realms/{{realm.id}}/required-credentials">Credentials</a></li>
-                    <li><a href="#/realms/{{realm.id}}/token-settings">Token</a></li>
-                    <li><a href="#/realms/{{realm.id}}/keys-settings">Keys</a></li>
-                    <li><a href="#/realms/{{realm.id}}/smtp-settings">SMTP</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">General</a></li>
+                    <li data-ng-show="realm.social"><a href="#/realms/{{realm.realm}}/social-settings">Social</a></li>
+                    <li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.realm}}/registration-settings">Registration</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
                 </ul>
             </div>
             <div id="content">
                 <ol class="breadcrumb">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}">Settings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
                     <li class="active">Required Credentials</li>
                 </ol>
                 <h2><span>{{realm.realm}}</span> Credentials</h2>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-detail.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-detail.html
index db6c93d..a3ef383 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-detail.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-detail.html
@@ -4,20 +4,20 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav" data-ng-hide="createRealm">
                 <ul class="rcue-tabs">
-                    <li class="active"><a href="#/realms/{{realm.id}}">General</a></li>
-                    <li data-ng-show="social"><a href="#/realms/{{realm.id}}/social-settings">Social</a></li>
-                    <li data-ng-show="registrationAllowed"><a href="#/realms/{{realm.id}}/registration-settings">Registration</a></li>
-                    <li><a href="#/realms/{{realm.id}}/roles">Roles</a></li>
-                    <li><a href="#/realms/{{realm.id}}/required-credentials">Credentials</a></li>
-                    <li><a href="#/realms/{{realm.id}}/token-settings">Token</a></li>
-                    <li><a href="#/realms/{{realm.id}}/keys-settings">Keys</a></li>
-                    <li><a href="#/realms/{{realm.id}}/smtp-settings">SMTP</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}">General</a></li>
+                    <li data-ng-show="social"><a href="#/realms/{{realm.realm}}/social-settings">Social</a></li>
+                    <li data-ng-show="registrationAllowed"><a href="#/realms/{{realm.realm}}/registration-settings">Registration</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
                 </ul>
             </div>
             <div id="content">
                 <ol class="breadcrumb" data-ng-hide="createRealm">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}">Settings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
                     <li class="active">General</li>
                 </ol>
                 <h2 class="pull-left" data-ng-show="createRealm">Add Realm</h2>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-keys.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-keys.html
index b783bfa..f60f38b 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-keys.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-keys.html
@@ -4,20 +4,20 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav" data-ng-hide="createRealm">
                 <ul class="rcue-tabs">
-                    <li><a href="#/realms/{{realm.id}}">General</a></li>
-                    <li data-ng-show="realm.social"><a href="#/realms/{{realm.id}}/social-settings">Social</a></li>
-                    <li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.id}}/registration-settings">Registration</a></li>
-                    <li><a href="#/realms/{{realm.id}}/roles">Roles</a></li>
-                    <li><a href="#/realms/{{realm.id}}/required-credentials">Credentials</a></li>
-                    <li><a href="#/realms/{{realm.id}}/token-settings">Token</a></li>
-                    <li class="active"><a href="#/realms/{{realm.id}}/keys-settings">Keys</a></li>
-                    <li><a href="#/realms/{{realm.id}}/smtp-settings">SMTP</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">General</a></li>
+                    <li data-ng-show="realm.social"><a href="#/realms/{{realm.realm}}/social-settings">Social</a></li>
+                    <li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.realm}}/registration-settings">Registration</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
                 </ul>
             </div>
             <div id="content">
                 <ol class="breadcrumb">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}">Settings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
                     <li class="active">Keys</li>
                 </ol>
                 <h2><span>{{realm.realm}}</span> Keys</h2>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-menu.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-menu.html
index ca77bd6..679e2b9 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-menu.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-menu.html
@@ -1,10 +1,10 @@
 <ul data-ng-hide="createRealm">
     <li data-ng-class="((!path[2] || path[1] == 'role' || path[2] == 'roles' || path[2] == 'token-settings' ||
     path[2] == 'social-settings' || path[2] == 'required-credentials' || path[2] == 'registration-settings' ||
-    path[2] == 'keys-settings' || path[2] == 'smtp-settings') && path[3] != 'applications') && 'active'"><a href="#/realms/{{realm.id}}">Settings</a></li>
-    <li data-ng-class="(path[2] == 'users' || path[1] == 'user') && 'active'"><a href="#/realms/{{realm.id}}/users">Users</a>
+    path[2] == 'keys-settings' || path[2] == 'smtp-settings') && path[3] != 'applications') && 'active'"><a href="#/realms/{{realm.realm}}">Settings</a></li>
+    <li data-ng-class="(path[2] == 'users' || path[1] == 'user') && 'active'"><a href="#/realms/{{realm.realm}}/users">Users</a>
     </li>
-    <li data-ng-class="(path[2] == 'applications' || path[1] == 'application' || path[3] == 'applications') && 'active'"><a href="#/realms/{{realm.id}}/applications">Applications</a></li>
-    <li data-ng-class="(path[2] == 'oauth-clients' || path[1] == 'oauth-client') && 'active'"><a href="#/realms/{{realm.id}}/oauth-clients">OAuth Clients</a></li>
+    <li data-ng-class="(path[2] == 'applications' || path[1] == 'application' || path[3] == 'applications') && 'active'"><a href="#/realms/{{realm.realm}}/applications">Applications</a></li>
+    <li data-ng-class="(path[2] == 'oauth-clients' || path[1] == 'oauth-client') && 'active'"><a href="#/realms/{{realm.realm}}/oauth-clients">OAuth Clients</a></li>
 </ul>
 
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-registration.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-registration.html
index a84658a..867305f 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-registration.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-registration.html
@@ -4,20 +4,20 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav" data-ng-hide="createRealm">
                 <ul class="rcue-tabs">
-                    <li><a href="#/realms/{{realm.id}}">General</a></li>
-                    <li data-ng-show="realm.social"><a href="#/realms/{{realm.id}}/social-settings">Social</a></li>
-                    <li class="active"><a href="#/realms/{{realm.id}}/registration-settings">Registration</a></li>
-                    <li><a href="#/realms/{{realm.id}}/roles">Roles</a></li>
-                    <li><a href="#/realms/{{realm.id}}/required-credentials">Credentials</a></li>
-                    <li><a href="#/realms/{{realm.id}}/token-settings">Token</a></li>
-                    <li><a href="#/realms/{{realm.id}}/keys-settings">Keys</a></li>
-                    <li><a href="#/realms/{{realm.id}}/smtp-settings">SMTP</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">General</a></li>
+                    <li data-ng-show="realm.social"><a href="#/realms/{{realm.realm}}/social-settings">Social</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/registration-settings">Registration</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
                 </ul>
             </div>
             <div id="content">
                 <ol class="breadcrumb">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}">Settings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
                     <li class="active">Registration</li>
                 </ol>
                 <h2><span>{{realm.realm}}</span> Registration Settings</h2>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-smtp.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-smtp.html
index f43386f..f731d19 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-smtp.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-smtp.html
@@ -4,20 +4,20 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav" data-ng-hide="createRealm">
                 <ul class="rcue-tabs">
-                    <li><a href="#/realms/{{realm.id}}">General</a></li>
-                    <li data-ng-show="realm.social"><a href="#/realms/{{realm.id}}/social-settings">Social</a></li>
-                    <li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.id}}/registration-settings">Registration</a></li>
-                    <li><a href="#/realms/{{realm.id}}/roles">Roles</a></li>
-                    <li><a href="#/realms/{{realm.id}}/required-credentials">Credentials</a></li>
-                    <li><a href="#/realms/{{realm.id}}/token-settings">Token</a></li>
-                    <li><a href="#/realms/{{realm.id}}/keys-settings">Keys</a></li>
-                    <li class="active"><a href="#/realms/{{realm.id}}/smtp-settings">SMTP</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">General</a></li>
+                    <li data-ng-show="realm.social"><a href="#/realms/{{realm.realm}}/social-settings">Social</a></li>
+                    <li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.realm}}/registration-settings">Registration</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
                 </ul>
             </div>
             <div id="content">
                 <ol class="breadcrumb">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}">Settings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
                     <li class="active">SMTP Configuration</li>
                 </ol>
                 <h2 class="pull-left"><span>{{realm.realm}}</span> SMTP Settings</h2>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-social.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-social.html
index dbdeb24..723d5fc 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-social.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-social.html
@@ -4,20 +4,20 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav" data-ng-hide="createRealm">
                 <ul class="rcue-tabs">
-                    <li><a href="#/realms/{{realm.id}}">General</a></li>
-                    <li class="active" data-ng-show="realm.social"><a href="#/realms/{{realm.id}}/social-settings">Social</a></li>
-                    <li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.id}}/registration-settings">Registration</a></li>
-                    <li><a href="#/realms/{{realm.id}}/roles">Roles</a></li>
-                    <li><a href="#/realms/{{realm.id}}/required-credentials">Credentials</a></li>
-                    <li><a href="#/realms/{{realm.id}}/token-settings">Token</a></li>
-                    <li><a href="#/realms/{{realm.id}}/keys-settings">Keys</a></li>
-                    <li><a href="#/realms/{{realm.id}}/smtp-settings">SMTP</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">General</a></li>
+                    <li class="active" data-ng-show="realm.social"><a href="#/realms/{{realm.realm}}/social-settings">Social</a></li>
+                    <li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.realm}}/registration-settings">Registration</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
                 </ul>
             </div>
             <div id="content">
                 <ol class="breadcrumb">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}">Settings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
                     <li class="active">Social</li>
                 </ol>
                 <h2><span>{{realm.realm}}</span> Social Providers Settings</h2>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-tokens.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-tokens.html
index 57a15d0..7c77f6a 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-tokens.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-tokens.html
@@ -4,20 +4,20 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav" data-ng-hide="createRealm">
                 <ul class="rcue-tabs">
-                    <li><a href="#/realms/{{realm.id}}">General</a></li>
-                    <li data-ng-show="realm.social"><a href="#/realms/{{realm.id}}/social-settings">Social</a></li>
-                    <li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.id}}/registration-settings">Registration</a></li>
-                    <li><a href="#/realms/{{realm.id}}/roles">Roles</a></li>
-                    <li><a href="#/realms/{{realm.id}}/required-credentials">Credentials</a></li>
-                    <li class="active"><a href="#/realms/{{realm.id}}/token-settings">Token</a></li>
-                    <li><a href="#/realms/{{realm.id}}/keys-settings">Keys</a></li>
-                    <li><a href="#/realms/{{realm.id}}/smtp-settings">SMTP</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">General</a></li>
+                    <li data-ng-show="realm.social"><a href="#/realms/{{realm.realm}}/social-settings">Social</a></li>
+                    <li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.realm}}/registration-settings">Registration</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
                 </ul>
             </div>
             <div id="content">
                 <ol class="breadcrumb">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}">Settings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
                     <li class="active">Token</li>
                 </ol>
                 <h2><span>{{realm.realm}}</span> Token Settings</h2>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-detail.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-detail.html
index 76e602b..6fd412b 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-detail.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-detail.html
@@ -4,28 +4,28 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav">
                 <ul class="rcue-tabs">
-                    <li><a href="#/realms/{{realm.id}}">General</a></li>
-                    <li data-ng-show="realm.social"><a href="#/realms/{{realm.id}}/social-settings">Social</a></li>
-                    <li><a href="#/realms/{{realm.id}}/registration-settings">Registration</a></li>
-                    <li class="active"><a href="#/realms/{{realm.id}}/roles">Roles</a></li>
-                    <li><a href="#/realms/{{realm.id}}/required-credentials">Credentials</a></li>
-                    <li><a href="#/realms/{{realm.id}}/token-settings">Token</a></li>
-                    <li><a href="#/realms/{{realm.id}}/keys-settings">Keys</a></li>
-                    <li><a href="#/realms/{{realm.id}}/smtp-settings">SMTP</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">General</a></li>
+                    <li data-ng-show="realm.social"><a href="#/realms/{{realm.realm}}/social-settings">Social</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/registration-settings">Registration</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
                 </ul>
             </div>
             <div id="content">
                 <ol class="breadcrumb" data-ng-hide="create">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}">Settings</a></li>
-                    <li><a href="#/realms/{{realm.id}}/roles">Roles</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
                     <li class="active">{{role.name}}</li>
                 </ol>
                 <h2 class="pull-left" data-ng-hide="create"><span>{{realm.realm}}</span> {{role.name}}</h2>
                 <ol class="breadcrumb" data-ng-show="create">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}">Settings</a></li>
-                    <li><a href="#/realms/{{realm.id}}/roles">Roles</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
                     <li class="active">Add Role</li>
                 </ol>
                 <h2 class="pull-left" data-ng-show="create"><span>{{realm.realm}}</span> Add Role</h2>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-list.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-list.html
index 507084d..ae3092d 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-list.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-list.html
@@ -4,32 +4,32 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav">
                 <ul class="rcue-tabs">
-                    <li><a href="#/realms/{{realm.id}}">General</a></li>
-                    <li data-ng-show="realm.social"><a href="#/realms/{{realm.id}}/social-settings">Social</a></li>
-                    <li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.id}}/registration-settings">Registration</a></li>
-                    <li class="active"><a href="#/realms/{{realm.id}}/roles">Roles</a></li>
-                    <li><a href="#/realms/{{realm.id}}/required-credentials">Credentials</a></li>
-                    <li><a href="#/realms/{{realm.id}}/token-settings">Token</a></li>
-                    <li><a href="#/realms/{{realm.id}}/keys-settings">Keys</a></li>
-                    <li><a href="#/realms/{{realm.id}}/smtp-settings">SMTP</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">General</a></li>
+                    <li data-ng-show="realm.social"><a href="#/realms/{{realm.realm}}/social-settings">Social</a></li>
+                    <li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.realm}}/registration-settings">Registration</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
                 </ul>
             </div>
             <div id="content">
                 <ol class="breadcrumb">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}">Settings</a></li>   
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
                     <li class="active">Roles</li>
                 </ol>
                 <h2><span>{{realm.realm}}</span> Roles</h2>
                 <div class="feedback info inline" data-ng-show="!roles || roles.length == 0">
-                    <p><strong>You have not configured realm roles.</strong> <a class="button" href="#/create/role/{{realm.id}}">Add Role</a></p>
+                    <p><strong>You have not configured realm roles.</strong> <a class="button" href="#/create/role/{{realm.realm}}">Add Role</a></p>
                 </div>
                 <table data-ng-hide="!roles || roles.length == 0">
                     <thead>
                         <tr>
                             <th class="rcue-table-actions" colspan="2">
                                 <div class="actions">
-                                    <a class="button" href="#/create/role/{{realm.id}}">Add Role</a>
+                                    <a class="button" href="#/create/role/{{realm.realm}}">Add Role</a>
                                     <!-- <button class="remove disabled">Remove</button> -->
                                 </div>
                             </th>
@@ -64,7 +64,7 @@
                     </tfoot>
                     <tbody>
                     <tr ng-repeat="role in roles">
-                        <td><a href="#/realms/{{realm.id}}/roles/{{role.id}}">{{role.name}}</a></td>
+                        <td><a href="#/realms/{{realm.realm}}/roles/{{role.id}}">{{role.name}}</a></td>
                         <td>{{role.description}}</td>
                     </tr>
                     </tbody>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-mappings.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-mappings.html
index 78e055d..ea2b950 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-mappings.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-mappings.html
@@ -4,16 +4,16 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav">
                 <ul class="rcue-tabs" >
-                    <li><a href="#/realms/{{realm.id}}/users/{{user.username}}">Attributes</a></li>
-                    <li><a href="#/realms/{{realm.id}}/users/{{user.username}}/user-credentials">Credentials</a></li>
-                    <li class="active"><a href="#/realms/{{realm.id}}/users/{{user.username}}/role-mappings">Role Mappings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/users/{{user.username}}">Attributes</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/users/{{user.username}}/user-credentials">Credentials</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/users/{{user.username}}/role-mappings">Role Mappings</a></li>
                 </ul>
             </div>
             <div id="content">
                 <ol class="breadcrumb">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}/users">Users</a></li>
-                    <li><a href="#/realms/{{realm.id}}/users/{{user.username}}">{{user.username}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/users">Users</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/users/{{user.username}}">{{user.username}}</a></li>
                     <li class="active">Role Mappings</li>
                 </ol>
                 <h2 class="pull-left"><span>{{user.username}}'s</span> Role Mappings</h2>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-credentials.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-credentials.html
index 8f3de02..5f67c0e 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-credentials.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-credentials.html
@@ -4,14 +4,14 @@
         <div id="content-area" class="col-md-9" role="main">
             <div class="top-nav">
                 <ul class="rcue-tabs">
-                    <li><a href="#/realms/{{realm.id}}/users/{{user.username}}">Attributes</a></li>
-                    <li class="active"><a href="#/realms/{{realm.id}}/users/{{user.username}}/user-credentials">Credentials</a></li>
-                    <li><a href="#/realms/{{realm.id}}/users/{{user.username}}/role-mappings">Role Mappings</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/users/{{user.username}}">Attributes</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/users/{{user.username}}/user-credentials">Credentials</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/users/{{user.username}}/role-mappings">Role Mappings</a></li>
                 </ul>
             </div>
             <div id="content">
                 <ol class="breadcrumb">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
                     <li class="active">Users</li>
                 </ol>
                 <h2><span>{{user.username}}'s</span> Credentials</h2>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-detail.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-detail.html
index fa1683b..95b099e 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-detail.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-detail.html
@@ -9,24 +9,24 @@
             </div>
             <div class="top-nav" data-ng-show="!create">
                 <ul class="rcue-tabs" >
-                    <li class="active"><a href="#/realms/{{realm.id}}/users/{{user.username}}">Attributes</a></li>
-                    <li><a href="#/realms/{{realm.id}}/users/{{user.username}}/user-credentials">Credentials</a></li>
-                    <li><a href="#/realms/{{realm.id}}/users/{{user.username}}/role-mappings">Role Mappings</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/users/{{user.username}}">Attributes</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/users/{{user.username}}/user-credentials">Credentials</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/users/{{user.username}}/role-mappings">Role Mappings</a></li>
                 </ul>
             </div>
             <div id="content">
                 <ol class="breadcrumb" data-ng-show="create">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}/users">Users</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/users">Users</a></li>
                     <li class="active">Add</li>
                 </ol>
                 <h2 class="pull-left" data-ng-show="create">Add User</h2>
                 <p class="subtitle" data-ng-show="create"><span class="required">*</span> Required fields</p>
 
                 <ol class="breadcrumb" data-ng-hide="create">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
-                    <li><a href="#/realms/{{realm.id}}/users">Users</a></li>
-                    <li><a href="#/realms/{{realm.id}}/users/{{user.username}}">{{user.username}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/users">Users</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/users/{{user.username}}">{{user.username}}</a></li>
                     <li class="active">Attributes</li>
                 </ol>
                 <h2 class="pull-left" data-ng-hide="create"><span>{{user.username}}'s</span> Attributes</h2>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-list.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-list.html
index 5bf71ef..ac727d8 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-list.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-list.html
@@ -9,7 +9,7 @@
             </div>
             <div id="content">
                 <ol class="breadcrumb">
-                    <li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li>
+                    <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
                     <li class="active">Users</li>
                 </ol>
                 <h2><span>{{realm.realm}}</span> Users</h2>
@@ -29,7 +29,7 @@
                                 </div>
                                 <span><span>or</span><button class="link" ng-click="search = null; searchQuery()">View all users</button></span>
                                 <div class="actions">
-                                    <a class="button" href="#/create/user/{{realm.id}}">Add User</a>
+                                    <a class="button" href="#/create/user/{{realm.realm}}">Add User</a>
                                 </div>
                             </th>
                         </tr>
@@ -57,7 +57,7 @@
                     </tfoot>-->
                     <tbody>
                     <tr ng-repeat="user in users">
-                        <td><a href="#/realms/{{realm.id}}/users/{{user.username}}">{{user.username}}</a></td>
+                        <td><a href="#/realms/{{realm.realm}}/users/{{user.username}}">{{user.username}}</a></td>
                         <td>{{user.lastName}}</td>
                         <td>{{user.firstName}}</td>
                         <td>{{user.email}}</td>
diff --git a/model/api/src/main/java/org/keycloak/models/KeycloakSession.java b/model/api/src/main/java/org/keycloak/models/KeycloakSession.java
index 1636a12..f9ed6a2 100755
--- a/model/api/src/main/java/org/keycloak/models/KeycloakSession.java
+++ b/model/api/src/main/java/org/keycloak/models/KeycloakSession.java
@@ -12,6 +12,7 @@ public interface KeycloakSession {
     RealmModel createRealm(String name);
     RealmModel createRealm(String id, String name);
     RealmModel getRealm(String id);
+    RealmModel getRealmByName(String name);
     List<RealmModel> getRealms(UserModel admin);
     boolean removeRealm(String id);
 
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/RealmEntity.java b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/RealmEntity.java
index 5a59a4c..353face 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/RealmEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/RealmEntity.java
@@ -10,6 +10,8 @@ import javax.persistence.FetchType;
 import javax.persistence.Id;
 import javax.persistence.JoinTable;
 import javax.persistence.MapKeyColumn;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
 import javax.persistence.OneToMany;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -21,7 +23,10 @@ import java.util.Map;
  * @version $Revision: 1 $
  */
 @Entity
-public class RealmEntity {
+@NamedQueries({
+        @NamedQuery(name="getAllRealms", query="select realm from RealmEntity realm"),
+        @NamedQuery(name="getRealmByName", query="select realm from RealmEntity realm where realm.name = :name"),
+})public class RealmEntity {
     @Id
     protected String id;
 
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/JpaKeycloakSession.java b/model/jpa/src/main/java/org/keycloak/models/jpa/JpaKeycloakSession.java
index b9de288..2bc62e2 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/JpaKeycloakSession.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/JpaKeycloakSession.java
@@ -50,7 +50,7 @@ public class JpaKeycloakSession implements KeycloakSession {
 
     @Override
     public List<RealmModel> getRealms(UserModel admin) {
-        TypedQuery<RealmEntity> query = em.createQuery("select r from RealmEntity r", RealmEntity.class);
+        TypedQuery<RealmEntity> query = em.createNamedQuery("getAllRealms", RealmEntity.class);
         List<RealmEntity> entities = query.getResultList();
         List<RealmModel> realms = new ArrayList<RealmModel>();
         for (RealmEntity entity : entities) {
@@ -60,6 +60,15 @@ public class JpaKeycloakSession implements KeycloakSession {
     }
 
     @Override
+    public RealmModel getRealmByName(String name) {
+        TypedQuery<RealmEntity> query = em.createNamedQuery("getRealmByName", RealmEntity.class);
+        query.setParameter("name", name);
+        RealmEntity realm = query.getSingleResult();
+        if (realm == null) return null;
+        return new RealmAdapter(em, realm);
+    }
+
+    @Override
     public boolean removeRealm(String id) {
         RealmEntity realm = em.find(RealmEntity.class, id);
         if (realm == null) {
diff --git a/model/picketlink/src/main/java/org/keycloak/models/picketlink/PicketlinkKeycloakSession.java b/model/picketlink/src/main/java/org/keycloak/models/picketlink/PicketlinkKeycloakSession.java
index 7e1a50b..b51b773 100755
--- a/model/picketlink/src/main/java/org/keycloak/models/picketlink/PicketlinkKeycloakSession.java
+++ b/model/picketlink/src/main/java/org/keycloak/models/picketlink/PicketlinkKeycloakSession.java
@@ -95,6 +95,11 @@ public class PicketlinkKeycloakSession implements KeycloakSession {
     }
 
     @Override
+    public RealmModel getRealmByName(String name) {
+        throw new RuntimeException("NOT IMPLEMENTED YET");
+    }
+
+    @Override
     public boolean removeRealm(String id) {
         RealmData partition = partitionManager.getPartition(RealmData.class, id);
         if (partition == null) {
diff --git a/server/src/main/java/org/keycloak/server/KeycloakServerApplication.java b/server/src/main/java/org/keycloak/server/KeycloakServerApplication.java
index 1b430d0..13aa205 100755
--- a/server/src/main/java/org/keycloak/server/KeycloakServerApplication.java
+++ b/server/src/main/java/org/keycloak/server/KeycloakServerApplication.java
@@ -41,7 +41,7 @@ public class KeycloakServerApplication extends KeycloakApplication {
                 throw new RuntimeException("Realm id not specified");
             }
 
-            if (manager.getRealm(rep.getId()) != null) {
+            if (manager.getRealmByName(rep.getRealm()) != null) {
                 log.info("Not importing realm " + rep.getRealm() + " realm already exists");
                 return;
             }
diff --git a/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java b/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java
index 57e3b9a..4db51a7 100755
--- a/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java
+++ b/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java
@@ -13,7 +13,7 @@ import org.keycloak.models.UserModel;
 import org.keycloak.representations.SkeletonKeyToken;
 import org.keycloak.representations.idm.CredentialRepresentation;
 import org.keycloak.services.resources.AccountService;
-import org.keycloak.services.resources.AdminService;
+import org.keycloak.services.resources.admin.AdminService;
 import org.keycloak.services.resources.RealmsResource;
 
 import javax.ws.rs.NotAuthorizedException;
diff --git a/services/src/main/java/org/keycloak/services/managers/RealmManager.java b/services/src/main/java/org/keycloak/services/managers/RealmManager.java
index 9f7ca11..957c559 100755
--- a/services/src/main/java/org/keycloak/services/managers/RealmManager.java
+++ b/services/src/main/java/org/keycloak/services/managers/RealmManager.java
@@ -64,11 +64,16 @@ public class RealmManager {
         return identitySession.getRealm(id);
     }
 
+    public RealmModel getRealmByName(String name) {
+        return identitySession.getRealm(name);
+    }
+
     public RealmModel createRealm(String name) {
         return createRealm(name, name);
     }
 
     public RealmModel createRealm(String id, String name) {
+        if (id == null) id = generateId();
         RealmModel realm = identitySession.createRealm(id, name);
         realm.setName(name);
         realm.addRole(Constants.APPLICATION_ROLE);
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/RealmsAdminResource.java b/services/src/main/java/org/keycloak/services/resources/admin/RealmsAdminResource.java
index 66decd9..c435390 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/RealmsAdminResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/RealmsAdminResource.java
@@ -10,7 +10,6 @@ import org.keycloak.models.RealmModel;
 import org.keycloak.models.UserModel;
 import org.keycloak.representations.idm.RealmRepresentation;
 import org.keycloak.services.managers.RealmManager;
-import org.keycloak.services.resources.AdminService;
 import org.keycloak.services.resources.flows.Flows;
 
 import javax.ws.rs.*;
@@ -78,12 +77,12 @@ public class RealmsAdminResource {
     public Response importRealm(@Context final UriInfo uriInfo, final RealmRepresentation rep) {
         logger.debug("importRealm: {0}", rep.getRealm());
         RealmManager realmManager = new RealmManager(session);
-        if (realmManager.getRealm(rep.getRealm()) != null) {
+        if (realmManager.getRealmByName(rep.getRealm()) != null) {
             return Flows.errors().exists("Realm " + rep.getRealm() + " already exists");
         }
 
         RealmModel realm = realmManager.importRealm(rep, admin);
-        URI location = realmUrl(uriInfo).build(realm.getId());
+        URI location = realmUrl(uriInfo).build(realm.getName());
         logger.debug("imported realm success, sending back: {0}", location.toString());
         return Response.created(location).build();
     }
@@ -103,11 +102,11 @@ public class RealmsAdminResource {
         return Response.noContent().build();
     }
 
-    @Path("{id}")
+    @Path("{realm}")
     public RealmAdminResource getRealmAdmin(@Context final HttpHeaders headers,
-                                            @PathParam("id") final String id) {
+                                            @PathParam("realm") final String name) {
         RealmManager realmManager = new RealmManager(session);
-        RealmModel realm = realmManager.getRealm(id);
+        RealmModel realm = realmManager.getRealmByName(name);
         if (realm == null) throw new NotFoundException();
 
         RealmAdminResource adminResource = new RealmAdminResource(admin, realm);
diff --git a/services/src/main/java/org/keycloak/services/resources/flows/Urls.java b/services/src/main/java/org/keycloak/services/resources/flows/Urls.java
index 204bafc..042efaf 100755
--- a/services/src/main/java/org/keycloak/services/resources/flows/Urls.java
+++ b/services/src/main/java/org/keycloak/services/resources/flows/Urls.java
@@ -22,7 +22,7 @@
 package org.keycloak.services.resources.flows;
 
 import org.keycloak.services.resources.AccountService;
-import org.keycloak.services.resources.AdminService;
+import org.keycloak.services.resources.admin.AdminService;
 import org.keycloak.services.resources.RealmsResource;
 import org.keycloak.services.resources.RequiredActionsService;
 import org.keycloak.services.resources.SocialResource;
diff --git a/services/src/main/java/org/keycloak/services/resources/KeycloakApplication.java b/services/src/main/java/org/keycloak/services/resources/KeycloakApplication.java
index 3a3f77f..0ad2bda 100755
--- a/services/src/main/java/org/keycloak/services/resources/KeycloakApplication.java
+++ b/services/src/main/java/org/keycloak/services/resources/KeycloakApplication.java
@@ -7,6 +7,7 @@ import org.keycloak.models.ModelProvider;
 import org.keycloak.services.managers.ApplianceBootstrap;
 import org.keycloak.services.managers.SocialRequestManager;
 import org.keycloak.services.managers.TokenManager;
+import org.keycloak.services.resources.admin.AdminService;
 
 import javax.servlet.ServletContext;
 import javax.ws.rs.core.Application;
diff --git a/services/src/main/java/org/keycloak/services/resources/RealmsResource.java b/services/src/main/java/org/keycloak/services/resources/RealmsResource.java
index f96f343..9b74063 100755
--- a/services/src/main/java/org/keycloak/services/resources/RealmsResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/RealmsResource.java
@@ -48,26 +48,27 @@ public class RealmsResource {
     }
 
     @Path("{realm}/tokens")
-    public TokenService getTokenService(final @PathParam("realm") String id) {
+    public TokenService getTokenService(final @PathParam("realm") String name) {
         RealmManager realmManager = new RealmManager(session);
-        RealmModel realm = realmManager.getRealm(id);
-        if (realm == null) {
-            logger.debug("realm not found");
-            throw new NotFoundException();
-        }
+        RealmModel realm = locateRealm(name, realmManager);
         TokenService tokenService = new TokenService(realm, tokenManager);
         resourceContext.initResource(tokenService);
         return tokenService;
     }
 
-    @Path("{realm}/account")
-    public AccountService getAccountService(final @PathParam("realm") String id) {
-        RealmManager realmManager = new RealmManager(session);
-        RealmModel realm = realmManager.getRealm(id);
+    protected RealmModel locateRealm(String name, RealmManager realmManager) {
+        RealmModel realm = realmManager.getRealmByName(name);
         if (realm == null) {
             logger.debug("realm not found");
             throw new NotFoundException();
         }
+        return realm;
+    }
+
+    @Path("{realm}/account")
+    public AccountService getAccountService(final @PathParam("realm") String name) {
+        RealmManager realmManager = new RealmManager(session);
+        RealmModel realm = locateRealm(name, realmManager);
 
         ApplicationModel application = realm.getApplicationNameMap().get(Constants.ACCOUNT_APPLICATION);
         if (application == null || !application.isEnabled()) {
@@ -81,13 +82,9 @@ public class RealmsResource {
     }
 
     @Path("{realm}")
-    public PublicRealmResource getRealmResource(final @PathParam("realm") String id) {
+    public PublicRealmResource getRealmResource(final @PathParam("realm") String name) {
         RealmManager realmManager = new RealmManager(session);
-        RealmModel realm = realmManager.getRealm(id);
-        if (realm == null) {
-            logger.debug("realm not found");
-            throw new NotFoundException();
-        }
+        RealmModel realm = locateRealm(name, realmManager);
         PublicRealmResource realmResource = new PublicRealmResource(realm);
         resourceContext.initResource(realmResource);
         return realmResource;