Ejemplo n.º 1
0
        //Восстановление авторизацию из куков. если удачно вернет 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;
        }
Ejemplo n.º 2
0
        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; }
        }