//Восстановление авторизацию из куков. если удачно вернет true private static bool RebuildAuthOfCookie(HttpRequest reguest) { HttpCookie cookie = reguest.Cookies["MiniForumCookieName"]; if (cookie != null) { System.Web.Security.FormsAuthenticationTicket authTicket = System.Web.Security.FormsAuthentication.Decrypt(cookie.Value); int userID; //ИД пользователя из куков bool tryParseIdToInt = Int32.TryParse(authTicket.Name, out userID); if (tryParseIdToInt ) { UserDAL userdal = new UserDAL(); Entities.User users = userdal.UserAuthenticationDB(userID); if (users != null) { SessionManager.SessionAuthUser(users); return true; } else return false; } else { return false; } } return false; }
protected void BtnCreateUser_Click(object sender, EventArgs e) { Page.Validate(); if (!Page.IsValid) return; UserDAL userdal = new UserDAL(); try { //Проверяет на уникальность логин и емейл bool isLogMail = userdal.IsUserLoginEmail(txtbxUserLogin.Text.Trim(), txtbxEmail.Text.Trim()); if (isLogMail) { ErrorMessage.Text = "Пользователь с таким логином или E-mail уже существует"; return; } else { string login = txtbxUserLogin.Text.Trim(); string email = txtbxEmail.Text.Trim(); string userFirstLastName = tbxFirstName.Text + " " + tbxLastName.Text; string pass = AppCode.GetHashEncoding(txtbxConfirmPassword.Text.Trim());//хеш пароля сохраняется в БД string identityCode = AppCode.GetHashEncoding(pass.ToString());//Хеш хеша пароля служит кодом активации аккаунта пользователя string htmlTextMess = WriteEmailMessage(userFirstLastName, login, identityCode, Request.Url.Authority); bool flagSaveDB = false; try { userdal.AddNewUser(login, pass, userFirstLastName, email); flagSaveDB = true; Mail.SendEmail(email, "MiniForum - Вы были зарегистрированы", htmlTextMess); pnlRegistration.Visible = false; lblSuccessfulreg.Visible = true; } catch (Exception ex) { ErrorMessage.Text = ex.Message; if (flagSaveDB) { pnlRegistration.Visible = false; lblErrorSendMail.Visible = true; } } } } catch (Exception ex) { ErrorMessage.Text = ex.Message; } }