Exemplo n.º 1
0
        private bool IsAuthenticationSuccessful(USERS dbUser, string password)
        {
            var IsSuccessful = Crypto.VerifyHashedPassword(dbUser.PASSWORD, password);

            // TODO: Replace DateTime.Now with Database Time
            DateTime now = DateTime.Now;

            if (IsSuccessful)
            {
                dbUser.PASSWORDFAILCOUNT = 0;
                dbUser.DATELASTLOGIN     = now;
            }
            else
            {
                dbUser.PASSWORDFAILCOUNT++;
                if (dbUser.PASSWORDFAILCOUNT >= MaxPasswordFail)
                {
                    dbUser.ISLOCKEDOUT     = true;
                    dbUser.DATELASTLOCKOUT = now;
                }
            }
            _ctx.USERS.Attach(dbUser);
            _ctx.Entry(dbUser).State = EntityState.Modified;
            IsSuccessful             = _ctx.SaveChanges() > 0 && IsSuccessful;
            return(IsSuccessful);
        }