Пример #1
0
        public async Task<ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new User() { UserId = Guid.NewGuid(), UserName = model.UserName };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await SignInAsync(user, isPersistent: true);
                    return RedirectToAction("Index", "Home");
                }
                else
                {
                    AddErrors(result);
                }
            }

            // If we got this far, something failed, redisplay form
            return View(model);
        }
Пример #2
0
 private async Task SignInAsync(User user, bool isPersistent)
 {
     AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);
     var identity = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);
     AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, identity);
 }
Пример #3
0
        public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
        {
            if (User.Identity.IsAuthenticated)
            {
                return RedirectToAction("Manage");
            }

            if (ModelState.IsValid)
            {
                // Get the information about the user from the external login provider
                var info = await AuthenticationManager.GetExternalLoginInfoAsync();
                if (info == null)
                {
                    return View("ExternalLoginFailure");
                }
                var user = new User() { UserName = model.UserName, UserId = Guid.NewGuid(), CreatedOnUTC = DateTime.UtcNow, LastVisitOnUTC = DateTime.UtcNow };

                IdentityResult result = await UserManager.CreateAsync(user);

                if (result.Succeeded)
                {

                    result = await UserManager.AddLoginAsync(user.UserId.ToString(), info.Login);
                    if (result.Succeeded)
                    {
                        await SignInAsync(user, isPersistent: true);
                        return RedirectToLocal(returnUrl);
                    }

                }
                AddErrors(result);
            }

            ViewBag.ReturnUrl = returnUrl;
            return View(model);
        }
Пример #4
0
 public void Update(User user)
 {
     user.SubmittedUrls = null;
     db.Update(user);
 }
Пример #5
0
 //public User Get(string providerToken)
 //{
 //    return db.SingleOrDefault(x => x.Token == providerToken.Trim());
 //}
 public void Save(User user)
 {
     user.SubmittedUrls = null;
     db.Add(user);
 }
Пример #6
0
 public void Remove(User user)
 {
     db.Remove(user);
 }