Index: /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/Application.cs
===================================================================
--- /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/Application.cs	(revision 4978)
+++ /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/Application.cs	(revision 4979)
@@ -8,10 +8,10 @@
 {
   [DataContract]
-  public class Application : NamedAuthItem {
+  public class Application : NamedAuthenticationItem {
     
     
     
-    [DataMember]
-    public string LoweredApplicationName { get; set; } // !!! REMOVE
+    //[DataMember]
+    //public string LoweredApplicationName { get; set; } // !!! REMOVE
 
     [DataMember]
Index: anches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/AuthItem.cs
===================================================================
--- /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/AuthItem.cs	(revision 4978)
+++ 	(revision )
@@ -1,12 +1,0 @@
-﻿using System.Runtime.Serialization;
-
-namespace HeuristicLab.Services.Authentication.DataTransfer
-{
-  [DataContract]
-  public abstract class AuthItem{
-
-
-    [DataMember]
-    public System.Guid Id { get; set; }
-  }
-}
Index: /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/AuthenticationItem.cs
===================================================================
--- /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/AuthenticationItem.cs	(revision 4979)
+++ /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/AuthenticationItem.cs	(revision 4979)
@@ -0,0 +1,12 @@
+﻿using System.Runtime.Serialization;
+
+namespace HeuristicLab.Services.Authentication.DataTransfer
+{
+  [DataContract]
+  public abstract class AuthenticationItem{
+
+
+    [DataMember]
+    public System.Guid Id { get; set; }
+  }
+}
Index: /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/HeuristicLab.Services.Authentication.DataTransfer.csproj
===================================================================
--- /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/HeuristicLab.Services.Authentication.DataTransfer.csproj	(revision 4978)
+++ /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/HeuristicLab.Services.Authentication.DataTransfer.csproj	(revision 4979)
@@ -43,6 +43,6 @@
   <ItemGroup>
     <Compile Include="Application.cs" />
-    <Compile Include="AuthItem.cs" />
-    <Compile Include="NamedAuthItem.cs" />
+    <Compile Include="AuthenticationItem.cs" />
+    <Compile Include="NamedAuthenticationItem.cs" />
     <Compile Include="Role.cs" />
     <Compile Include="User.cs" />
Index: anches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/NamedAuthItem.cs
===================================================================
--- /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/NamedAuthItem.cs	(revision 4978)
+++ 	(revision )
@@ -1,10 +1,0 @@
-﻿using System.Runtime.Serialization;
-
-namespace HeuristicLab.Services.Authentication.DataTransfer {
-  [DataContract]
-    public abstract class NamedAuthItem : AuthItem
-    {
-    [DataMember]
-    public string Name { get; set; }
-  }
-}
Index: /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/NamedAuthenticationItem.cs
===================================================================
--- /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/NamedAuthenticationItem.cs	(revision 4979)
+++ /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/NamedAuthenticationItem.cs	(revision 4979)
@@ -0,0 +1,10 @@
+﻿using System.Runtime.Serialization;
+
+namespace HeuristicLab.Services.Authentication.DataTransfer {
+  [DataContract]
+    public abstract class NamedAuthenticationItem : AuthenticationItem
+    {
+    [DataMember]
+    public string Name { get; set; }
+  }
+}
Index: /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/Role.cs
===================================================================
--- /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/Role.cs	(revision 4978)
+++ /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/Role.cs	(revision 4979)
@@ -8,16 +8,15 @@
 {
   [DataContract]
-  public class Role : NamedAuthItem {
+  public class Role : NamedAuthenticationItem {
 
       public Role()
       {
           Name = "";
-          LoweredRoleName = "";
       }
 
     [DataMember]
     public Guid ApplicationId { get; set; }
-   [DataMember]
-    public string LoweredRoleName { get; set; } // !!! REMOVE
+    //[DataMember]
+    //public string LoweredRoleName { get; set; } // !!! REMOVE
     [DataMember]
     public string Description { get; set; }
Index: /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/User.cs
===================================================================
--- /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/User.cs	(revision 4978)
+++ /branches/UserManagement/HeuristicLab.Services.Authentication.DataTransfer/User.cs	(revision 4979)
@@ -8,5 +8,5 @@
 {
   [DataContract]
-  public class User : NamedAuthItem {
+  public class User : NamedAuthenticationItem {
 
       public User()
Index: /branches/UserManagement/HeuristicLab.Services.Authentication.ServiceClients/AuthenticationClient.cs
===================================================================
--- /branches/UserManagement/HeuristicLab.Services.Authentication.ServiceClients/AuthenticationClient.cs	(revision 4978)
+++ /branches/UserManagement/HeuristicLab.Services.Authentication.ServiceClients/AuthenticationClient.cs	(revision 4979)
@@ -53,5 +53,5 @@
         #region Store
 
-        public bool Store(AuthItem item)
+        public bool Store(AuthenticationItem item)
         {
             try
@@ -60,9 +60,9 @@
                 {
                     if (item is Role)
-                        item.Id = CallService<Guid>(s => s.InsertRole((Role)item));
+                        item.Id = CallService<Guid>(s => s.AddRole((Role)item));
                     else if (item is User)
-                        item.Id = CallService<Guid>(s => s.InsertUser((User)item));
+                        item.Id = CallService<Guid>(s => s.AddUser((User)item));
                     else if (item is Application)
-                        item.Id = CallService<Guid>(s => s.InsertApplication((Application)item));
+                        item.Id = CallService<Guid>(s => s.AddApplication((Application)item));
 
                 }
@@ -130,5 +130,5 @@
             AuthenticationServiceClient client = new AuthenticationServiceClient();
             client.ClientCredentials.UserName.UserName = "Alice";
-            client.ClientCredentials.UserName.Password = "YouWillKnow";
+            client.ClientCredentials.UserName.Password = "YouWillNeverKnow";
             client.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.None;
             //AuthenticationServiceClient client = ClientFactory.Create<AuthenticationClient, IAuthenticationService>();
Index: /branches/UserManagement/HeuristicLab.Services.Authentication.ServiceClients/ServiceClients/AuthenticationServiceClient.cs
===================================================================
--- /branches/UserManagement/HeuristicLab.Services.Authentication.ServiceClients/ServiceClients/AuthenticationServiceClient.cs	(revision 4978)
+++ /branches/UserManagement/HeuristicLab.Services.Authentication.ServiceClients/ServiceClients/AuthenticationServiceClient.cs	(revision 4979)
@@ -1,9 +1,9 @@
 ﻿//------------------------------------------------------------------------------
 // <auto-generated>
-//     This code was generated by a tool.
-//     Runtime Version:4.0.30319.1
+//     Dieser Code wurde von einem Tool generiert.
+//     Laufzeitversion:4.0.30319.1
 //
-//     Changes to this file may cause incorrect behavior and will be lost if
-//     the code is regenerated.
+//     Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+//     der Code erneut generiert wird.
 // </auto-generated>
 //------------------------------------------------------------------------------
@@ -16,11 +16,11 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="AuthItem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Authentication.Data" +
+    [System.Runtime.Serialization.DataContractAttribute(Name="AuthenticationItem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Authentication.Data" +
         "Transfer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Services.Authentication.NamedAuthItem))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Services.Authentication.NamedAuthenticationItem))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Services.Authentication.Role))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Services.Authentication.Application))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Services.Authentication.User))]
-    public partial class AuthItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    public partial class AuthenticationItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
     {
         
@@ -72,10 +72,10 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="NamedAuthItem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Authentication.Data" +
+    [System.Runtime.Serialization.DataContractAttribute(Name="NamedAuthenticationItem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Authentication.Data" +
         "Transfer")]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Services.Authentication.Role))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Services.Authentication.Application))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Services.Authentication.User))]
-    public partial class NamedAuthItem : HeuristicLab.Services.Authentication.AuthItem
+    public partial class NamedAuthenticationItem : HeuristicLab.Services.Authentication.AuthenticationItem
     {
         
@@ -104,5 +104,5 @@
     [System.Runtime.Serialization.DataContractAttribute(Name="Role", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Authentication.Data" +
         "Transfer")]
-    public partial class Role : HeuristicLab.Services.Authentication.NamedAuthItem
+    public partial class Role : HeuristicLab.Services.Authentication.NamedAuthenticationItem
     {
         
@@ -110,6 +110,4 @@
         
         private string DescriptionField;
-        
-        private string LoweredRoleNameField;
         
         [System.Runtime.Serialization.DataMemberAttribute()]
@@ -143,21 +141,4 @@
                     this.DescriptionField = value;
                     this.RaisePropertyChanged("Description");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string LoweredRoleName
-        {
-            get
-            {
-                return this.LoweredRoleNameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.LoweredRoleNameField, value) != true))
-                {
-                    this.LoweredRoleNameField = value;
-                    this.RaisePropertyChanged("LoweredRoleName");
                 }
             }
@@ -169,10 +150,8 @@
     [System.Runtime.Serialization.DataContractAttribute(Name="Application", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Authentication.Data" +
         "Transfer")]
-    public partial class Application : HeuristicLab.Services.Authentication.NamedAuthItem
+    public partial class Application : HeuristicLab.Services.Authentication.NamedAuthenticationItem
     {
         
         private string DescriptionField;
-        
-        private string LoweredApplicationNameField;
         
         [System.Runtime.Serialization.DataMemberAttribute()]
@@ -189,21 +168,4 @@
                     this.DescriptionField = value;
                     this.RaisePropertyChanged("Description");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string LoweredApplicationName
-        {
-            get
-            {
-                return this.LoweredApplicationNameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.LoweredApplicationNameField, value) != true))
-                {
-                    this.LoweredApplicationNameField = value;
-                    this.RaisePropertyChanged("LoweredApplicationName");
                 }
             }
@@ -215,5 +177,5 @@
     [System.Runtime.Serialization.DataContractAttribute(Name="User", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Authentication.Data" +
         "Transfer")]
-    public partial class User : HeuristicLab.Services.Authentication.NamedAuthItem
+    public partial class User : HeuristicLab.Services.Authentication.NamedAuthenticationItem
     {
         
@@ -455,9 +417,12 @@
         HeuristicLab.Services.Authentication.User GetUser(System.Guid id);
         
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/GetAllUsers", ReplyAction="http://tempuri.org/IAuthenticationService/GetAllUsersResponse")]
+        HeuristicLab.Services.Authentication.User[] GetAllUsers();
+        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/GetUsers", ReplyAction="http://tempuri.org/IAuthenticationService/GetUsersResponse")]
         HeuristicLab.Services.Authentication.User[] GetUsers(System.Guid applicationId);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/InsertUser", ReplyAction="http://tempuri.org/IAuthenticationService/InsertUserResponse")]
-        System.Guid InsertUser(HeuristicLab.Services.Authentication.User user);
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/AddUser", ReplyAction="http://tempuri.org/IAuthenticationService/AddUserResponse")]
+        System.Guid AddUser(HeuristicLab.Services.Authentication.User user);
         
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/DeleteUser", ReplyAction="http://tempuri.org/IAuthenticationService/DeleteUserResponse")]
@@ -470,18 +435,24 @@
         bool AddUserToRole(System.Guid roleId, System.Guid userId);
         
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/GetUsersInRole", ReplyAction="http://tempuri.org/IAuthenticationService/GetUsersInRoleResponse")]
+        System.Guid[] GetUsersInRole(System.Guid roleId);
+        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/RemoveUserFromRole", ReplyAction="http://tempuri.org/IAuthenticationService/RemoveUserFromRoleResponse")]
         bool RemoveUserFromRole(System.Guid roleId, System.Guid userId);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/GetRolesForUser", ReplyAction="http://tempuri.org/IAuthenticationService/GetRolesForUserResponse")]
-        HeuristicLab.Services.Authentication.Role[] GetRolesForUser(System.Guid userId);
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/IsUserInRole", ReplyAction="http://tempuri.org/IAuthenticationService/IsUserInRoleResponse")]
+        bool IsUserInRole(System.Guid userId, System.Guid roleId);
         
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/GetRole", ReplyAction="http://tempuri.org/IAuthenticationService/GetRoleResponse")]
         HeuristicLab.Services.Authentication.Role GetRole(System.Guid id);
         
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/GetAllRoles", ReplyAction="http://tempuri.org/IAuthenticationService/GetAllRolesResponse")]
+        HeuristicLab.Services.Authentication.Role[] GetAllRoles();
+        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/GetRoles", ReplyAction="http://tempuri.org/IAuthenticationService/GetRolesResponse")]
         HeuristicLab.Services.Authentication.Role[] GetRoles(System.Guid applicationId);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/InsertRole", ReplyAction="http://tempuri.org/IAuthenticationService/InsertRoleResponse")]
-        System.Guid InsertRole(HeuristicLab.Services.Authentication.Role role);
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/AddRole", ReplyAction="http://tempuri.org/IAuthenticationService/AddRoleResponse")]
+        System.Guid AddRole(HeuristicLab.Services.Authentication.Role role);
         
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/UpdateRole", ReplyAction="http://tempuri.org/IAuthenticationService/UpdateRoleResponse")]
@@ -491,12 +462,12 @@
         bool DeleteRole(System.Guid id);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/GetUsersInRole", ReplyAction="http://tempuri.org/IAuthenticationService/GetUsersInRoleResponse")]
-        HeuristicLab.Services.Authentication.User[] GetUsersInRole(System.Guid roleId);
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/GetRolesForUser", ReplyAction="http://tempuri.org/IAuthenticationService/GetRolesForUserResponse")]
+        System.Guid[] GetRolesForUser(System.Guid userId);
         
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/GetApplication", ReplyAction="http://tempuri.org/IAuthenticationService/GetApplicationResponse")]
         HeuristicLab.Services.Authentication.Application GetApplication(System.Guid id);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/InsertApplication", ReplyAction="http://tempuri.org/IAuthenticationService/InsertApplicationResponse")]
-        System.Guid InsertApplication(HeuristicLab.Services.Authentication.Application application);
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/AddApplication", ReplyAction="http://tempuri.org/IAuthenticationService/AddApplicationResponse")]
+        System.Guid AddApplication(HeuristicLab.Services.Authentication.Application application);
         
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAuthenticationService/DeleteApplication", ReplyAction="http://tempuri.org/IAuthenticationService/DeleteApplicationResponse")]
@@ -549,4 +520,9 @@
         }
         
+        public HeuristicLab.Services.Authentication.User[] GetAllUsers()
+        {
+            return base.Channel.GetAllUsers();
+        }
+        
         public HeuristicLab.Services.Authentication.User[] GetUsers(System.Guid applicationId)
         {
@@ -554,7 +530,7 @@
         }
         
-        public System.Guid InsertUser(HeuristicLab.Services.Authentication.User user)
-        {
-            return base.Channel.InsertUser(user);
+        public System.Guid AddUser(HeuristicLab.Services.Authentication.User user)
+        {
+            return base.Channel.AddUser(user);
         }
         
@@ -574,4 +550,9 @@
         }
         
+        public System.Guid[] GetUsersInRole(System.Guid roleId)
+        {
+            return base.Channel.GetUsersInRole(roleId);
+        }
+        
         public bool RemoveUserFromRole(System.Guid roleId, System.Guid userId)
         {
@@ -579,39 +560,44 @@
         }
         
-        public HeuristicLab.Services.Authentication.Role[] GetRolesForUser(System.Guid userId)
+        public bool IsUserInRole(System.Guid userId, System.Guid roleId)
+        {
+            return base.Channel.IsUserInRole(userId, roleId);
+        }
+        
+        public HeuristicLab.Services.Authentication.Role GetRole(System.Guid id)
+        {
+            return base.Channel.GetRole(id);
+        }
+        
+        public HeuristicLab.Services.Authentication.Role[] GetAllRoles()
+        {
+            return base.Channel.GetAllRoles();
+        }
+        
+        public HeuristicLab.Services.Authentication.Role[] GetRoles(System.Guid applicationId)
+        {
+            return base.Channel.GetRoles(applicationId);
+        }
+        
+        public System.Guid AddRole(HeuristicLab.Services.Authentication.Role role)
+        {
+            return base.Channel.AddRole(role);
+        }
+        
+        public bool UpdateRole(HeuristicLab.Services.Authentication.Role role)
+        {
+            return base.Channel.UpdateRole(role);
+        }
+        
+        public bool DeleteRole(System.Guid id)
+        {
+            return base.Channel.DeleteRole(id);
+        }
+        
+        public System.Guid[] GetRolesForUser(System.Guid userId)
         {
             return base.Channel.GetRolesForUser(userId);
         }
         
-        public HeuristicLab.Services.Authentication.Role GetRole(System.Guid id)
-        {
-            return base.Channel.GetRole(id);
-        }
-        
-        public HeuristicLab.Services.Authentication.Role[] GetRoles(System.Guid applicationId)
-        {
-            return base.Channel.GetRoles(applicationId);
-        }
-        
-        public System.Guid InsertRole(HeuristicLab.Services.Authentication.Role role)
-        {
-            return base.Channel.InsertRole(role);
-        }
-        
-        public bool UpdateRole(HeuristicLab.Services.Authentication.Role role)
-        {
-            return base.Channel.UpdateRole(role);
-        }
-        
-        public bool DeleteRole(System.Guid id)
-        {
-            return base.Channel.DeleteRole(id);
-        }
-        
-        public HeuristicLab.Services.Authentication.User[] GetUsersInRole(System.Guid roleId)
-        {
-            return base.Channel.GetUsersInRole(roleId);
-        }
-        
         public HeuristicLab.Services.Authentication.Application GetApplication(System.Guid id)
         {
@@ -619,7 +605,7 @@
         }
         
-        public System.Guid InsertApplication(HeuristicLab.Services.Authentication.Application application)
-        {
-            return base.Channel.InsertApplication(application);
+        public System.Guid AddApplication(HeuristicLab.Services.Authentication.Application application)
+        {
+            return base.Channel.AddApplication(application);
         }
         
Index: /branches/UserManagement/HeuristicLab.Services.Authentication.ServiceClients/app.config
===================================================================
--- /branches/UserManagement/HeuristicLab.Services.Authentication.ServiceClients/app.config	(revision 4978)
+++ /branches/UserManagement/HeuristicLab.Services.Authentication.ServiceClients/app.config	(revision 4979)
@@ -29,5 +29,5 @@
                 name="WSHttpBinding_IAuthenticationService">
                 <identity>
-                    <certificate encodedValue="AwAAAAEAAAAUAAAAAV7xMfFtgnY5+8sJyWRHHa0QvTcgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhBXQX+6QCO6m0LTqFCaKnh3MAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMDkyNzE5MTIxNFoXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDa4H45oXaRry7PwK3dI6AJWpxyEqmDBP+SnIZelLsPfWQ1oFPqH1zygaza0ZP+Gq5kxrL2cRrS9eiq/AlacWMOFsIEM6SZ/HBsaA9IiHssv3KH4uKwjcOWP1/TwL1OlwGDJszXrGmslrdFXg6I3grFlks8nYPVmuIzwVfmUKO+nwIDAQABo0kwRzBFBgNVHQEEPjA8gBDRH5aGMOUZ99XrCILH02uuoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghBXQX+6QCO6m0LTqFCaKnh3MAkGBSsOAwIdBQADgYEAtRZiYmZ7mKH0wkDd8v+33g8KU8mFiBS26hUowCpcCvYpG23FaVXbBua+zTt45RIBcEQUVdLOdtIAMogymV4sq9JafaU2Y9Dh9gnSqOF2KplC/xyf5f+QWwCZ4Yljr9g1BizWoOE6SF1TcjL66iZ09JMwYJKO9V3iuOosnzJ8DEA=" />
+                    <certificate encodedValue="AwAAAAEAAAAUAAAAXL2k/dCMiB3+7a8y6zepgAUMPdcgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhB0J9LOt5NHpkN1DGclpr/0MAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMDkyMTE4MDIwN1oXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC73VKB25OrytpquyozHwo7d711Z4KEQEWHIigtJufMBUIzpQWXQrySaYrOdjZxuDJE8M7+kUi6FJny3o48Z8ZEEIKdoy4fJ+o5+rXKKNyg3rZxae1KJm4kQ3rIRu68b3cu6EYvFymORNo+gv8A03IbA2F7K1vaQbuRDAdbP8CT+QIDAQABo0kwRzBFBgNVHQEEPjA8gBC/lrDi96sGW7ZLNecSjhFEoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghB0J9LOt5NHpkN1DGclpr/0MAkGBSsOAwIdBQADgYEAdls1HmJKAhEUZvCcg/ELZYpRHF3ds5mHsYrNNhEoUTrHYJzsXDqxLMyn9nbKQHv+kBH7tdgF61agYvy3666D7EHPMXyEk6OwCVxIvOyNaHywS0v7/fyU/394VpzFNmkuycaiemEZFhqxstKN6n4PzBqOJfUmIE9Ry/mnlp6T2Zo=" />
                 </identity>
             </endpoint>
Index: /branches/UserManagement/HeuristicLab.Services.Authentication.TestClient2/Program.cs
===================================================================
--- /branches/UserManagement/HeuristicLab.Services.Authentication.TestClient2/Program.cs	(revision 4978)
+++ /branches/UserManagement/HeuristicLab.Services.Authentication.TestClient2/Program.cs	(revision 4979)
@@ -20,4 +20,10 @@
                 Console.WriteLine(app.Name);
             }
+            Console.WriteLine("          Users         ");
+            IEnumerable<User> users = AuthenticationClient.Instance.Users;
+
+            foreach (User u in users) {
+              Console.WriteLine(u.Name);
+            }
             Console.ReadLine();
 
Index: /branches/UserManagement/HeuristicLab.Services.Authentication.TestClient2/UserManagement.cs
===================================================================
--- /branches/UserManagement/HeuristicLab.Services.Authentication.TestClient2/UserManagement.cs	(revision 4978)
+++ /branches/UserManagement/HeuristicLab.Services.Authentication.TestClient2/UserManagement.cs	(revision 4979)
@@ -79,5 +79,5 @@
                         // insert
                         selectedApplication.Id = Guid.NewGuid();
-                        auth.InsertApplication(selectedApplication);
+                        auth.AddApplication(selectedApplication);
                     }
                     else
@@ -127,5 +127,5 @@
                     selectedRole.ApplicationId = currentApplication.Id;
 
-                    auth.InsertRole(selectedRole);
+                    auth.AddRole(selectedRole);
                 }
                 else
@@ -183,5 +183,5 @@
                     selectedUser.ApplicationId = currentApplication.Id;
 
-                    auth.InsertUser(selectedUser);
+                    auth.AddUser(selectedUser);
                 }
                 else
Index: /branches/UserManagement/HeuristicLab.Services.Authentication.TestClient2/app.config
===================================================================
--- /branches/UserManagement/HeuristicLab.Services.Authentication.TestClient2/app.config	(revision 4978)
+++ /branches/UserManagement/HeuristicLab.Services.Authentication.TestClient2/app.config	(revision 4979)
@@ -29,5 +29,5 @@
                 name="WSHttpBinding_IAuthenticationService">
                 <identity>
-                    <certificate encodedValue="AwAAAAEAAAAUAAAAAV7xMfFtgnY5+8sJyWRHHa0QvTcgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhBXQX+6QCO6m0LTqFCaKnh3MAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMDkyNzE5MTIxNFoXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDa4H45oXaRry7PwK3dI6AJWpxyEqmDBP+SnIZelLsPfWQ1oFPqH1zygaza0ZP+Gq5kxrL2cRrS9eiq/AlacWMOFsIEM6SZ/HBsaA9IiHssv3KH4uKwjcOWP1/TwL1OlwGDJszXrGmslrdFXg6I3grFlks8nYPVmuIzwVfmUKO+nwIDAQABo0kwRzBFBgNVHQEEPjA8gBDRH5aGMOUZ99XrCILH02uuoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghBXQX+6QCO6m0LTqFCaKnh3MAkGBSsOAwIdBQADgYEAtRZiYmZ7mKH0wkDd8v+33g8KU8mFiBS26hUowCpcCvYpG23FaVXbBua+zTt45RIBcEQUVdLOdtIAMogymV4sq9JafaU2Y9Dh9gnSqOF2KplC/xyf5f+QWwCZ4Yljr9g1BizWoOE6SF1TcjL66iZ09JMwYJKO9V3iuOosnzJ8DEA=" />
+                    <certificate encodedValue="AwAAAAEAAAAUAAAAXL2k/dCMiB3+7a8y6zepgAUMPdcgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhB0J9LOt5NHpkN1DGclpr/0MAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMDkyMTE4MDIwN1oXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC73VKB25OrytpquyozHwo7d711Z4KEQEWHIigtJufMBUIzpQWXQrySaYrOdjZxuDJE8M7+kUi6FJny3o48Z8ZEEIKdoy4fJ+o5+rXKKNyg3rZxae1KJm4kQ3rIRu68b3cu6EYvFymORNo+gv8A03IbA2F7K1vaQbuRDAdbP8CT+QIDAQABo0kwRzBFBgNVHQEEPjA8gBC/lrDi96sGW7ZLNecSjhFEoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghB0J9LOt5NHpkN1DGclpr/0MAkGBSsOAwIdBQADgYEAdls1HmJKAhEUZvCcg/ELZYpRHF3ds5mHsYrNNhEoUTrHYJzsXDqxLMyn9nbKQHv+kBH7tdgF61agYvy3666D7EHPMXyEk6OwCVxIvOyNaHywS0v7/fyU/394VpzFNmkuycaiemEZFhqxstKN6n4PzBqOJfUmIE9Ry/mnlp6T2Zo=" />
                 </identity>
             </endpoint>
Index: /branches/UserManagement/HeuristicLab.Services.Authentication/AuthenticationService.cs
===================================================================
--- /branches/UserManagement/HeuristicLab.Services.Authentication/AuthenticationService.cs	(revision 4978)
+++ /branches/UserManagement/HeuristicLab.Services.Authentication/AuthenticationService.cs	(revision 4979)
@@ -31,4 +31,17 @@
         }
 
+        public IEnumerable<DataTransfer.User> GetAllUsers() {
+          List<DataTransfer.User> userList = new List<DataTransfer.User>();
+          using (UserManagementDataContext db = new UserManagementDataContext()) {
+            var users = db.aspnet_Users.ToList<aspnet_User>();
+            foreach (aspnet_User user in users) {
+              var membership = db.aspnet_Memberships.Where(x => x.UserId == user.UserId).FirstOrDefault();
+              userList.Add(Convert.ToDataTransfer(user, membership));
+            }
+          }
+
+          return userList;
+        }
+
         public IEnumerable<DataTransfer.User> GetUsers(Guid applicationId)
         {
@@ -52,5 +65,5 @@
         }
 
-        public Guid InsertUser(User user)
+        public Guid AddUser(User user)
         {
             if (user != null)
@@ -138,4 +151,99 @@
 
 
+        public bool AddUserToRole(Guid roleId, Guid userId) {
+          using (UserManagementDataContext db = new UserManagementDataContext()) {
+            try {
+              aspnet_UsersInRole r = new aspnet_UsersInRole();
+              r.RoleId = roleId;
+              r.UserId = userId;
+              db.aspnet_UsersInRoles.InsertOnSubmit(r);
+              db.SubmitChanges();
+              return true;
+            }
+            catch (Exception ex) {
+              Debug.WriteLine(ex.InnerException);
+              return false;
+            }
+          }
+        }
+
+        public IEnumerable<Guid> GetUsersInRole(Guid roleId) {
+          List<Guid> userList = new List<Guid>();
+          using (UserManagementDataContext db = new UserManagementDataContext()) {
+            try {
+              var users = db.aspnet_UsersInRoles.Where(x => x.RoleId == roleId).ToList<aspnet_UsersInRole>();
+
+              foreach (aspnet_UsersInRole u in users) {
+                userList.Add(GetUser(u.UserId).Id);
+              }
+
+            }
+            catch (Exception ex) {
+              Debug.WriteLine(ex.InnerException);
+              return new List<Guid>();
+
+            }
+
+          }
+
+          return userList;
+        }
+
+      /*
+        public IEnumerable<User> GetUsersInRole(Guid roleId) {
+          List<User> userList = new List<User>();
+          using (UserManagementDataContext db = new UserManagementDataContext()) {
+            try {
+              var users = db.aspnet_UsersInRoles.Where(x => x.RoleId == roleId).ToList<aspnet_UsersInRole>();
+
+              foreach (aspnet_UsersInRole u in users) {
+                userList.Add(GetUser(u.UserId));
+
+              }
+
+            }
+            catch (Exception ex) {
+              Debug.WriteLine(ex.InnerException);
+              return new List<User>();
+            }
+          }
+
+          return userList;
+        }
+       */
+
+        public bool IsUserInRole(Guid userId, Guid roleId) {
+          bool isInRole = false;
+          using (UserManagementDataContext db = new UserManagementDataContext()) {
+            var users = db.aspnet_UsersInRoles.Where(x => x.RoleId == roleId && x.UserId == userId).ToList<aspnet_UsersInRole>();
+            foreach (aspnet_UsersInRole u in users) {
+              isInRole = true;
+            }
+          }
+          return isInRole;
+
+        }
+
+
+        public bool RemoveUserFromRole(Guid roleId, Guid userId) {
+          using (UserManagementDataContext db = new UserManagementDataContext()) {
+            try {
+              var role = db.aspnet_UsersInRoles.Where(x => x.RoleId == roleId && x.UserId == userId).FirstOrDefault();
+
+              db.aspnet_UsersInRoles.DeleteOnSubmit(role);
+              db.SubmitChanges();
+              return true;
+
+            }
+            catch (Exception ex) {
+              Debug.WriteLine(ex.InnerException);
+              return false;
+            }
+          }
+
+        }
+
+
+
 
         #endregion
@@ -154,4 +262,15 @@
         }
 
+        public IEnumerable<Role> GetAllRoles() {
+          List<DataTransfer.Role> roleList = new List<DataTransfer.Role>();
+          using (UserManagementDataContext db = new UserManagementDataContext()) {
+            var roles = db.aspnet_Roles.ToList<aspnet_Role>();
+            foreach (aspnet_Role role in roles) {
+              roleList.Add(Convert.ToDataTransfer(role));
+            }
+          }
+          return roleList;
+        }
+
         public IEnumerable<Role> GetRoles(Guid applicationId)
         {
@@ -170,5 +289,5 @@
         }
 
-        public Guid InsertRole(Role role)
+        public Guid AddRole(Role role)
         {
 
@@ -220,55 +339,32 @@
         }
 
-        public bool AddUserToRole(Guid roleId, Guid userId)
-        {
+        public IEnumerable<Guid> GetRolesForUser(Guid userId) {
+          List<Guid> roleList = new List<Guid>();
+          using (UserManagementDataContext db = new UserManagementDataContext()) {
+            try {
+              var roles = db.aspnet_UsersInRoles.Where(x => x.UserId == userId).ToList<aspnet_UsersInRole>();
+              foreach (aspnet_UsersInRole r in roles) {
+                roleList.Add(GetRole(r.RoleId).Id);
+              }
+            }
+            catch (Exception ex) {
+              Debug.WriteLine(ex.InnerException);
+              return new List<Guid>();
+            }
+          }
+
+          return roleList;
+
+        }
+
+       /*
+        public IEnumerable<Role> GetRolesForUser(Guid userId)
+        {
+            List<Role> roleList = new List<Role>();
             using (UserManagementDataContext db = new UserManagementDataContext())
             {
                 try
                 {
-                    aspnet_UsersInRole r = new aspnet_UsersInRole();
-                    r.RoleId = roleId;
-                    r.UserId = userId;
-                    db.aspnet_UsersInRoles.InsertOnSubmit(r);
-                    db.SubmitChanges();
-                    return true;
-                }
-                catch (Exception ex)
-                {
-                    Debug.WriteLine(ex.InnerException);
-                    return false;
-                }
-            }
-        }
-
-        public bool RemoveUserFromRole(Guid roleId, Guid userId)
-        {
-            using (UserManagementDataContext db = new UserManagementDataContext())
-            {
-                try
-                {
-                    var role = db.aspnet_UsersInRoles.Where(x => x.RoleId == roleId && x.UserId == userId).FirstOrDefault();
-
-                    db.aspnet_UsersInRoles.DeleteOnSubmit(role);
-                    db.SubmitChanges();
-                    return true;
-
-                }
-                catch (Exception ex)
-                {
-                    Debug.WriteLine(ex.InnerException);
-                    return false;
-                }
-            }
-
-        }
-
-        public IEnumerable<Role> GetRolesForUser(Guid userId)
-        {
-            List<Role> roleList = new List<Role>();
-            using (UserManagementDataContext db = new UserManagementDataContext())
-            {
-                try
-                {
-                    var roles = db.aspnet_UsersInRoles.Where(x => x.UserId == userId).ToList<aspnet_UsersInRole>();
+                    var roles = db.aspnet_UsersInRoles.Where(x => x.UserId == userId).ToList<aspnet_UsersINRole>();
 
                     foreach (aspnet_UsersInRole r in roles)
@@ -288,30 +384,5 @@
             return roleList;
         }
-
-        public IEnumerable<User> GetUsersInRole(Guid roleId)
-        {
-            List<User> userList = new List<User>();
-            using (UserManagementDataContext db = new UserManagementDataContext())
-            {
-                try
-                {
-                    var users = db.aspnet_UsersInRoles.Where(x => x.RoleId == roleId).ToList<aspnet_UsersInRole>();
-
-                    foreach (aspnet_UsersInRole u in users)
-                    {
-                        userList.Add(GetUser(u.UserId));
-
-                    }
-
-                }
-                catch (Exception ex)
-                {
-                    Debug.WriteLine(ex.InnerException);
-                    return new List<User>();
-                }
-            }
-
-            return userList;
-        }
+         */
 
 
@@ -353,5 +424,5 @@
         #region Application
 
-        public Guid InsertApplication(Application application)
+        public Guid AddApplication(Application application)
         {
             if (application != null)
Index: /branches/UserManagement/HeuristicLab.Services.Authentication/Convert.cs
===================================================================
--- /branches/UserManagement/HeuristicLab.Services.Authentication/Convert.cs	(revision 4978)
+++ /branches/UserManagement/HeuristicLab.Services.Authentication/Convert.cs	(revision 4979)
@@ -92,5 +92,5 @@
                 Id = source.ApplicationId,
                 Name = source.ApplicationName,
-                LoweredApplicationName = source.LoweredApplicationName,
+                //LoweredApplicationName = source.LoweredApplicationName,
                 Description = source.Description
             };
@@ -108,5 +108,5 @@
                 target.ApplicationId = source.Id;
                 target.ApplicationName = source.Name;
-                target.LoweredApplicationName = source.LoweredApplicationName;
+                target.LoweredApplicationName = source.Name.ToLower();
                 target.Description = source.Description;
             }
@@ -132,5 +132,5 @@
                 Name = source.RoleName,
                 Description = source.Description,
-                LoweredRoleName = source.LoweredRoleName,
+                //LoweredRoleName = source.LoweredRoleName,
             };
         }
@@ -148,5 +148,5 @@
                 target.RoleId = source.Id;
                 target.RoleName = source.Name;
-                target.LoweredRoleName = source.LoweredRoleName;
+                target.LoweredRoleName = source.Name.ToLower();
                 target.Description = source.Description;
             }
Index: /branches/UserManagement/HeuristicLab.Services.Authentication/Interfaces/IAuthenticationService.cs
===================================================================
--- /branches/UserManagement/HeuristicLab.Services.Authentication/Interfaces/IAuthenticationService.cs	(revision 4978)
+++ /branches/UserManagement/HeuristicLab.Services.Authentication/Interfaces/IAuthenticationService.cs	(revision 4979)
@@ -15,6 +15,6 @@
         User GetUser(Guid id);
 
-
-        // IEnumerable<User> GetUsers();
+        [OperationContract]
+        IEnumerable<User> GetAllUsers();
 
         [OperationContract]
@@ -22,5 +22,5 @@
 
         [OperationContract]
-        Guid InsertUser(User user);         // => AddUser
+        Guid AddUser(User user);       
 
         [OperationContract]
@@ -34,12 +34,14 @@
 
         [OperationContract]
+        IEnumerable<Guid> GetUsersInRole(Guid roleId);
+
+        //[OperationContract]
+        //IEnumerable<User> GetUsersInRole(Guid roleId); // return = Guid
+
+        [OperationContract]
         bool RemoveUserFromRole(Guid roleId, Guid userId);
 
         [OperationContract]
-        IEnumerable<Role> GetRolesForUser(Guid userId);  // returnvalue = GUID
-
-
-      // IsUserInRole
-      // 
+        bool IsUserInRole(Guid userId, Guid roleId);
 
         #endregion
@@ -50,6 +52,6 @@
         Role GetRole(Guid id);
 
-
-        //IEnumerable<Role> GetRoles();
+        [OperationContract]
+        IEnumerable<Role> GetAllRoles();
 
         [OperationContract]
@@ -57,5 +59,5 @@
 
         [OperationContract]
-        Guid InsertRole(Role role); // Add
+        Guid AddRole(Role role); 
 
         [OperationContract]
@@ -65,6 +67,11 @@
         bool DeleteRole(Guid id);
 
+
         [OperationContract]
-        IEnumerable<User> GetUsersInRole(Guid roleId); // return = Guid
+        IEnumerable<Guid> GetRolesForUser(Guid userId);
+
+
+        //[OperationContract]
+        //IEnumerable<Role> GetRolesForUser(Guid userId);  // returnvalue = GUID
 
         #endregion
@@ -76,5 +83,5 @@
 
         [OperationContract]
-        Guid InsertApplication(Application application); // ADD
+        Guid AddApplication(Application application); // ADD
 
         [OperationContract]
