Index: trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/IServerConsoleFacade.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/IServerConsoleFacade.cs	(revision 1083)
+++ trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/IServerConsoleFacade.cs	(revision 1084)
@@ -31,6 +31,10 @@
   /// Facade for the server management console
   /// </summary>
-  [ServiceContract]
-  public interface IServerConsoleFacade : IClientManager, IJobManager, IUserRoleManager {
+  [ServiceContract(SessionMode=SessionMode.Required)]
+  public interface IServerConsoleFacade : IClientManager, 
+    IJobManager, 
+    IUserRoleManager {
+    [OperationContract]
+    bool Login(String username, String password); 
   }
 }
Index: trunk/sources/HeuristicLab.Hive.Server.Console/ServiceLocator.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Server.Console/ServiceLocator.cs	(revision 1083)
+++ trunk/sources/HeuristicLab.Hive.Server.Console/ServiceLocator.cs	(revision 1084)
@@ -9,7 +9,5 @@
 namespace HeuristicLab.Hive.Server.Console {
   internal class ServiceLocator {
-    private static IClientManager clientManager = null;
-    private static IJobManager jobManager = null;
-    private static IUserRoleManager userManager = null;
+    private static IServerConsoleFacade serverConsoleFacade = null;
 
     internal static string Address { get; set; }
@@ -17,46 +15,28 @@
 
     internal static IClientManager GetClientManager() {
-      if (clientManager == null && 
-        Address != String.Empty &&
-        Port != String.Empty) {
-        ChannelFactory<IClientManager> factory =
-          new ChannelFactory<IClientManager>(
-            new NetTcpBinding(),
-            new EndpointAddress("net.tcp://" + Address + ":" + Port + "/HiveServerConsole/ClientManager"));
-        
-        clientManager = factory.CreateChannel();
-      }
-
-      return clientManager;
+      return GetServerConsoleFacade() as IClientManager;
     }
 
     internal static IJobManager GetJobManager() {
-      if (jobManager == null &&
-        Address != String.Empty &&
-        Port != String.Empty) {
-        ChannelFactory<IJobManager> factory =
-          new ChannelFactory<IJobManager>(
-            new NetTcpBinding(),
-            new EndpointAddress("net.tcp://" + Address + ":" + Port + "/HiveServerConsole/JobManager"));
-
-        jobManager = factory.CreateChannel();
-      }
-
-      return jobManager;
+      return GetServerConsoleFacade() as IJobManager;
     }
 
     internal static IUserRoleManager GetUserRoleManager() {
-      if (userManager == null &&
+      return GetServerConsoleFacade() as IUserRoleManager;
+    }
+
+    internal static IServerConsoleFacade GetServerConsoleFacade() {
+      if (serverConsoleFacade == null &&
         Address != String.Empty &&
         Port != String.Empty) {
-        ChannelFactory<IUserRoleManager> factory =
-          new ChannelFactory<IUserRoleManager>(
+        ChannelFactory<IServerConsoleFacade> factory =
+          new ChannelFactory<IServerConsoleFacade>(
             new NetTcpBinding(),
-            new EndpointAddress("net.tcp://" + Address + ":" + Port + "/HiveServerConsole/UserRoleManager"));
+            new EndpointAddress("net.tcp://" + Address + ":" + Port + "/HiveServerConsole/ServerConsoleFacade"));
 
-        userManager = factory.CreateChannel();
+        serverConsoleFacade = factory.CreateChannel();
       }
 
-      return userManager;
+      return serverConsoleFacade;
     }
   }
Index: trunk/sources/HeuristicLab.Hive.Server.Core/ServerConsoleFacade.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Server.Core/ServerConsoleFacade.cs	(revision 1083)
+++ trunk/sources/HeuristicLab.Hive.Server.Core/ServerConsoleFacade.cs	(revision 1084)
@@ -33,5 +33,17 @@
     private IJobManager jobManager = new JobManager();
     private IUserRoleManager userRoleManager = new UserRoleManager();
-    
+
+    private String loginName = null;
+
+    #region IServerConsoleFacade Members
+
+    public bool Login(string username, string password) {
+      loginName = username;
+
+      return true;
+    }
+
+    #endregion
+
     #region IClientManager Members
 
@@ -116,5 +128,4 @@
 
     #endregion
-
   }
 }
Index: trunk/sources/HeuristicLab.Hive.Server/HiveServerApplication.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Server/HiveServerApplication.cs	(revision 1083)
+++ trunk/sources/HeuristicLab.Hive.Server/HiveServerApplication.cs	(revision 1084)
@@ -95,17 +95,7 @@
 
         serviceHost.AddServiceEndpoint(
-          typeof(IClientManager),
-              binding,
-              "ClientManager");
-
-        serviceHost.AddServiceEndpoint(
-          typeof(IJobManager),
-              binding,
-              "JobManager");
-
-        serviceHost.AddServiceEndpoint(
-          typeof(IUserRoleManager),
-              binding,
-              "UserRoleManager");
+          typeof(IServerConsoleFacade),
+            binding,
+            "ServerConsoleFacade");
 
         AddMexEndpoint(serviceHost);
