protected void CreateUser_Click(object sender, EventArgs e) { string userName = UserName.Text; string email = Email.Text; string filename = "default.png"; if (UploadAvatar.HasFile) { if (UploadAvatar.PostedFile.ContentType == "image/jpeg" || UploadAvatar.PostedFile.ContentType == "image/gif" || UploadAvatar.PostedFile.ContentType == "image/png") { if (UploadAvatar.PostedFile.ContentLength < 102400) { filename = userName + Path.GetExtension(UploadAvatar.FileName); UploadAvatar.SaveAs(Server.MapPath("~/Avatar_Files/") + filename); } else { ErrorSuccessNotifier.AddErrorMessage("Upload status: The file has to be less than 100 kb!"); return; } } else { ErrorSuccessNotifier.AddErrorMessage("Upload status: Only JPEG files are accepted!"); return; } } var manager = new AuthenticationIdentityManager(new IdentityStore(new ApplicationDbContext())); ApplicationUser u = new ApplicationUser() { UserName = userName, Email = email, Avatar = filename }; IdentityResult result = manager.Users.CreateLocalUser(u, Password.Text); if (result.Success) { manager.Authentication.SignIn(Context.GetOwinContext().Authentication, u.Id, isPersistent: false); OpenAuthProviders.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); } else { ErrorSuccessNotifier.AddErrorMessage(result.Errors.FirstOrDefault()); } }
protected void LogIn(object sender, EventArgs e) { if (IsValid) { // Validate the user password IAuthenticationManager manager = new AuthenticationIdentityManager(new IdentityStore(new ApplicationDbContext())).Authentication; IdentityResult result = manager.CheckPasswordAndSignIn(Context.GetOwinContext().Authentication, UserName.Text, Password.Text, RememberMe.Checked); if (result.Success) { OpenAuthProviders.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); } else { ErrorSuccessNotifier.AddErrorMessage(result.Errors.FirstOrDefault()); } } }
private void CreateAndLoginUser() { if (!IsValid) { return; } var user = new User(userName.Text); IAuthenticationManager manager = new AuthenticationIdentityManager(new IdentityStore()).Authentication; IdentityResult result = manager.CreateAndSignInExternalUser(Context.GetOwinContext().Authentication, user); if (result.Success) { OpenAuthProviders.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); } else { AddErrors(result); return; } }
protected void Page_Load() { // Process the result from an auth provider in the request ProviderName = OpenAuthProviders.GetProviderNameFromRequest(Request); if (String.IsNullOrEmpty(ProviderName)) { Response.Redirect("~/Account/Login"); } if (!IsPostBack) { IAuthenticationManager manager = new AuthenticationIdentityManager(new IdentityStore()).Authentication; var auth = Context.GetOwinContext().Authentication; ClaimsIdentity id = manager.GetExternalIdentity(auth); IdentityResult result = manager.SignInExternalIdentity(auth, id); if (result.Success) { OpenAuthProviders.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); } else if (User.Identity.IsAuthenticated) { result = manager.LinkExternalIdentity(id, User.Identity.GetUserId()); if (result.Success) { OpenAuthProviders.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); } else { AddErrors(result); return; } } else { userName.Text = id.Name; } } }