Exemplo n.º 1
0
        //public OrderDetail UpdateOrderDetail(string id,DateTime deliveryTime, int )
        //{

        //    mergedEntities db = new mergedEntities();
        //    OrderDetail orderDetail = db.OrderDetails.Where(o => o.Id == id)
        //                    .FirstOrDefault();
        //    orderDetail.orderNumber = productID;
        //    orderDetail.deliveryTime = deliveryTime;

        //    db.SaveChanges();
        //    return orderDetail;
        //}




        //Get profile details
        // change public AspNetUser to public RegisteredUser
        public RegisteredUser GetProfileDetail(Login login)
        {
            UserStore<IdentityUser> userStore = new UserStore<IdentityUser>();
            UserManager<IdentityUser> manager = new UserManager<IdentityUser>(userStore);
            IdentityUser identityUser = manager.Find(login.UserName, login.Password);
            mergedEntities db = new mergedEntities();
            RegisteredUser USER = new RegisteredUser();

            var query =
            from a in db.AspNetUsers
            where (a.Id == identityUser.Id)
             select new
            {
                ID = a.Id,
                UserName = a.UserName,
                PhoneNumber = a.PhoneNumber,
                Email = a.Email,           
            };

            foreach (var item in query)
            {
                USER.Id = item.ID;
                USER.UserName = item.UserName;
                USER.TelNumber = item.PhoneNumber;
                USER.Email = item.Email;
            }

            return USER;
        }
Exemplo n.º 2
0
        public ActionResult Login(Login login)
        {
            // UserStore and UserManager manages data retreival.
            UserStore<IdentityUser> userStore = new UserStore<IdentityUser>();
            UserManager<IdentityUser> manager = new UserManager<IdentityUser>(userStore);
            IdentityUser identityUser = manager.Find(login.UserName,
                                                             login.Password);
            TempData["Login"] = login;
            if (ModelState.IsValid)
            {
                AccountRepo accountRepo = new AccountRepo();
                if (accountRepo.ValidLogin(login))
                {
                    IAuthenticationManager authenticationManager
                                           = HttpContext.GetOwinContext().Authentication;
                    authenticationManager
                   .SignOut(DefaultAuthenticationTypes.ExternalCookie);

                    var identity = new ClaimsIdentity(new[] {
                                            new Claim(ClaimTypes.Name, login.UserName),
                                        },
                                        DefaultAuthenticationTypes.ApplicationCookie,
                                        ClaimTypes.Name, ClaimTypes.Role);
                    // SignIn() accepts ClaimsIdentity and issues logged in cookie. 
                    authenticationManager.SignIn(new AuthenticationProperties
                    {
                        IsPersistent = false
                    }, identity);
                    
                    if (identityUser.Roles.Count == 1)
                    {                        
                        return RedirectToAction("AdminOnly", "Account");
                    }
                    if (identityUser.Roles.Count == 0)
                    {                        
                        return RedirectToAction("UserArea", "Account");
                    }
                }
            }
            return View();
        }
Exemplo n.º 3
0
        public bool ValidLogin(Login login)
        {
            UserStore<IdentityUser> userStore = new UserStore<IdentityUser>();
            UserManager<IdentityUser> userManager = new UserManager<IdentityUser>(userStore)
            {
                UserLockoutEnabledByDefault = true,
                DefaultAccountLockoutTimeSpan = new TimeSpan(0, 1, 0),
                MaxFailedAccessAttemptsBeforeLockout = 3
            };
            var user = userManager.FindByName(login.UserName);

            if (user == null)
                return false;

            // User is locked out.
            if (userManager.SupportsUserLockout && userManager.IsLockedOut(user.Id))
                return false;

            // Validated user was locked out but now can be reset.
            if (userManager.CheckPassword(user, login.Password)
                      && userManager.IsEmailConfirmed(user.Id))

            {
                if (userManager.SupportsUserLockout
                 && userManager.GetAccessFailedCount(user.Id) > 0)
                {
                    userManager.ResetAccessFailedCount(user.Id);
                }
            }
            // Login is invalid so increment failed attempts.
            else {
                bool lockoutEnabled = userManager.GetLockoutEnabled(user.Id);
                if (userManager.SupportsUserLockout && userManager.GetLockoutEnabled(user.Id))
                {
                    userManager.AccessFailed(user.Id);
                    return false;
                }
            }
            return true;
        }