Index: /branches/HeuristicLab.Services.Authentication Prototype/Service/Provider/HeuristicLabMembershipProvider.cs
===================================================================
--- /branches/HeuristicLab.Services.Authentication Prototype/Service/Provider/HeuristicLabMembershipProvider.cs	(revision 4003)
+++ /branches/HeuristicLab.Services.Authentication Prototype/Service/Provider/HeuristicLabMembershipProvider.cs	(revision 4004)
@@ -24,5 +24,5 @@
     private int pMaxInvalidPasswordAttempts;
     private int pPasswordAttemptWindow;
-    private int pMinRequiredPasswordLength;
+    private int pMinRequiredPasswordLength = 5;
     private MembershipPasswordFormat pPasswordFormat = MembershipPasswordFormat.Clear;
 
@@ -134,4 +134,9 @@
           return false;
         }
+
+        if (newPassword.Length < MinRequiredPasswordLength) {
+          return false;
+        }
+
         try {
           // try to get user
@@ -144,6 +149,6 @@
           }
           return false;
-          
-          
+
+
         }
         catch (Exception) {
@@ -184,4 +189,8 @@
             return null;
           }
+          if (password.Length < MinRequiredPasswordLength) {
+            status = MembershipCreateStatus.InvalidPassword;
+            return null;
+          }
 
           // create new user
@@ -271,7 +280,10 @@
       }
     }
-
+    /// <summary>
+    /// not jet implemented returns 0 as default
+    /// </summary>
+    /// <returns></returns>
     public override int GetNumberOfUsersOnline() {
-      throw new NotImplementedException();
+      return 0;
     }
 
@@ -299,56 +311,46 @@
     }
 
-    public bool LockUser(string userName)
-    {
-        using (DataClassesDataContext db = DatabaseUtil.createDataClassesDataContext())
-        {
-            // check database connection
-            if (db == null)
-            {
-                return false;
-            }
-            try
-            {
-                // try to get user
-                HeuristicLabUser u =
-                  db.HeuristicLabUsers.Single<HeuristicLabUser>(x => x.UserName == userName);
-
-                // unlock user
-                u.Locked = true;
-                db.SubmitChanges();
-                return true;
-            }
-            catch (Exception)
-            {
-                return false;
-            }
-        }
-    }
-
-    public override bool UnlockUser(string userName)
-    {
-        using (DataClassesDataContext db = DatabaseUtil.createDataClassesDataContext())
-        {
-            // check database connection
-            if (db == null)
-            {
-                return false;
-            }
-            try
-            {
-                // try to get user
-                HeuristicLabUser u =
-                  db.HeuristicLabUsers.Single<HeuristicLabUser>(x => x.UserName == userName);
-
-                // unlock user
-                u.Locked = false;
-                db.SubmitChanges();
-                return true;
-            }
-            catch (Exception)
-            {
-                return false;
-            }
-        }
+    public bool LockUser(string userName) {
+      using (DataClassesDataContext db = DatabaseUtil.createDataClassesDataContext()) {
+        // check database connection
+        if (db == null) {
+          return false;
+        }
+        try {
+          // try to get user
+          HeuristicLabUser u =
+            db.HeuristicLabUsers.Single<HeuristicLabUser>(x => x.UserName == userName);
+
+          // unlock user
+          u.Locked = true;
+          db.SubmitChanges();
+          return true;
+        }
+        catch (Exception) {
+          return false;
+        }
+      }
+    }
+
+    public override bool UnlockUser(string userName) {
+      using (DataClassesDataContext db = DatabaseUtil.createDataClassesDataContext()) {
+        // check database connection
+        if (db == null) {
+          return false;
+        }
+        try {
+          // try to get user
+          HeuristicLabUser u =
+            db.HeuristicLabUsers.Single<HeuristicLabUser>(x => x.UserName == userName);
+
+          // unlock user
+          u.Locked = false;
+          db.SubmitChanges();
+          return true;
+        }
+        catch (Exception) {
+          return false;
+        }
+      }
     }
 
Index: /branches/HeuristicLab.Services.Authentication Prototype/UnitTests/HeuristicLabMembershipProviderTest.cs
===================================================================
--- /branches/HeuristicLab.Services.Authentication Prototype/UnitTests/HeuristicLabMembershipProviderTest.cs	(revision 4003)
+++ /branches/HeuristicLab.Services.Authentication Prototype/UnitTests/HeuristicLabMembershipProviderTest.cs	(revision 4004)
@@ -123,7 +123,12 @@
     public void MinRequiredPasswordLengthTest() {
       MembershipProvider target = Membership.Provider;  // TODO: Initialize to an appropriate value
-      int actual;
-      actual = target.MinRequiredPasswordLength;
-      Assert.Inconclusive("Verify the correctness of this test method.");
+     
+      MembershipCreateStatus status;
+      target.CreateUser("username", "", "mail", "question", "answer", true, null,out status);
+      Assert.AreEqual(status, MembershipCreateStatus.InvalidPassword);
+      target.CreateUser("username", "testusername", "mail", "question", "answer", true, null, out status);
+      Assert.AreEqual(status, MembershipCreateStatus.Success);
+      Assert.IsFalse(target.ChangePassword("username", "testusername", ""));
+      Assert.IsTrue(target.ChangePassword("username", "testusername", "foofoofoo"));
     }
 
@@ -334,5 +339,4 @@
       actual = target.GetNumberOfUsersOnline();
       Assert.AreEqual(expected, actual);
-      Assert.Inconclusive("Verify the correctness of this test method.");
     }
 
