public override string[] GetRolesForUser(string username)
 {
     using (var session = documentStore.OpenSession())
     {
         var user = BirdBrainHelper.GetUserByUsername(username, session);
         return(user != null ? user.Roles : new string[] {});
     }
 }
Beispiel #2
0
 public override DateTime GetLastPasswordFailureDate(string userName)
 {
     using (var session = DocumentStore.OpenSession())
     {
         var user = BirdBrainHelper.GetUserByUsername(userName, session);
         return(user != null ? user.LastPasswordFailures : DateTime.MinValue);
     }
 }
 public override bool IsUserInRole(string username, string roleName)
 {
     using (var session = documentStore.OpenSession())
     {
         var user = BirdBrainHelper.GetUserByUsername(username, session);
         return(user.Roles.Contains(roleName));
     }
 }
Beispiel #4
0
 public override bool IsConfirmed(string userName)
 {
     using (var session = DocumentStore.OpenSession())
     {
         var user = BirdBrainHelper.GetUserByUsername(userName, session);
         return(user != null && user.IsApproved);
     }
 }
Beispiel #5
0
 public override int GetPasswordFailuresSinceLastSuccess(string userName)
 {
     using (var session = DocumentStore.OpenSession())
     {
         var user = BirdBrainHelper.GetUserByUsername(userName, session);
         return(user != null ? user.PasswordFailuresSinceLastSuccess : 0);
     }
 }
Beispiel #6
0
 public override bool ConfirmAccount(string userName, string accountConfirmationToken)
 {
     using (var session = DocumentStore.OpenSession())
     {
         var user = BirdBrainHelper.GetUserByUsername(userName, session);
         return(ConfirmAccount(accountConfirmationToken, user, session));
     }
 }
Beispiel #7
0
 public override bool DeleteAccount(string userName)
 {
     using (var session = DocumentStore.OpenSession())
     {
         var user = BirdBrainHelper.GetUserByUsername(userName, session);
         if (user != null)
         {
             session.Delete(user);
             session.SaveChanges();
             return(true);
         }
         return(false);
     }
 }
Beispiel #8
0
 public override string GeneratePasswordResetToken(string userName, int tokenExpirationInMinutesFromNow)
 {
     using (var session = DocumentStore.OpenSession())
     {
         var user = BirdBrainHelper.GetUserByUsername(userName, session);
         if (user != null)
         {
             user.PasswordResetToken       = Guid.NewGuid().ToString();
             user.PasswordResetTokenExpiry = DateTime.Now.Add(TimeSpan.FromMinutes(tokenExpirationInMinutesFromNow));
             session.SaveChanges();
             return(user.PasswordResetToken);
         }
         return(null);
     }
 }
Beispiel #9
0
        public override string CreateAccount(string userName, string password, bool requireConfirmationToken)
        {
            MembershipCreateStatus status;

            CreateUser(userName, password, null, null, null, !requireConfirmationToken, null, out status);
            if (status.Equals(MembershipCreateStatus.Success) && requireConfirmationToken)
            {
                using (var session = DocumentStore.OpenSession())
                {
                    var user = BirdBrainHelper.GetUserByUsername(userName, session);
                    user.ConfirmationToken = Guid.NewGuid().ToString();
                    session.SaveChanges();
                    return(user.ConfirmationToken);
                }
            }
            return(null);
        }
Beispiel #10
0
 public override MembershipUser GetUser(string username, bool userIsOnline)
 {
     using (var session = documentStore.OpenSession())
     {
         var user = BirdBrainHelper.GetUserByUsername(username, session);
         if (user != null)
         {
             if (userIsOnline)
             {
                 user.LastActive = DateTime.Now;
                 session.SaveChanges();
             }
             return(new BirdBrainMembershipUser(user));
         }
         return(null);
     }
 }
Beispiel #11
0
        public override string CreateAccount(string userName, string password, bool requireConfirmationToken)
        {
            MembershipCreateStatus status;

            CreateUser(userName, password, null, null, null, !requireConfirmationToken, null, out status);
            if (status.Equals(MembershipCreateStatus.Success) && requireConfirmationToken)
            {
                using (var session = DocumentStore.OpenSession())
                {
                    session.Query <User>()
                    .Customize(a => a.WaitForNonStaleResultsAsOfLastWrite())
                    .First(u => u.Username == userName);
                    var user = BirdBrainHelper.GetUserByUsername(userName, session);
                    user.ConfirmationToken = Guid.NewGuid().ToString();
                    session.SaveChanges();
                    return(user.ConfirmationToken);
                }
            }
            return(null);
        }
Beispiel #12
0
 public override bool ValidateUser(string username, string password)
 {
     using (var session = documentStore.OpenSession())
     {
         var user = BirdBrainHelper.GetUserByUsernameAndPassword(username, HashPassword(password), session);
         if (user != null)
         {
             user.LastActive = DateTime.Now;
             user.LastLogin  = DateTime.Now;
             session.SaveChanges();
             return(true);
         }
         user = BirdBrainHelper.GetUserByUsername(username, session);
         if (user != null)
         {
             user.PasswordFailuresSinceLastSuccess += 1;
             user.LastPasswordFailures              = DateTime.Now;
             session.SaveChanges();
         }
         return(false);
     }
 }