예제 #1
0
        /// <summary>
        /// Активация email пользователя, вывод ему странички для активации телефона
        /// </summary>
        /// <param name="id">Идентификатор пользователя</param>
        /// <param name="key">Guid, высланный ему в письме</param>
        public ActionResult ActivateEMail(int id, Guid key)
        {
            // либо получаем сессию, либо создаем
            UserSessionSet.UserSession session = UserSessionSet.Current.GetOrCreateSessionByCookie(this.Request, this.Response);
            if (session.State == UserSessionSet.SessionStates.Authenticated)
            {
                RedirectToAction("Index", "CallRegistry");
            }
            session.UserLink(id, session.Key.ToString());
            if (session.User.IsActivatedEMail == false && session.User.EMailActivateGuid != key.ToString())
            {
                throw new HttpResponseException(HttpStatusCode.Forbidden);
            }

            // регистрация пользователя в тех.зоне (sms-ки отправляет она сама)
            service.ActivateUserEmail(session.User, session.Key.ToString());

            ActivateEMailModel model = new ActivateEMailModel
            {
                User = session.User,
                tkn  = session.NewSingleUseToken()
            };

            return(View(model));
        }
예제 #2
0
        public ActionResult Index()
        {
            UserSessionSet.UserSession session = UserSessionSet.Current.GetOrCreateSessionByCookie(this.Request, this.Response);
            if (session.State == UserSessionSet.SessionStates.Authenticated)
            {
                return(RedirectToAction("Index", "CallRegistry"));
            }

            service.UpdateAnonymousSession(session.Key.ToString());
            return(View(new AuthRegFormModel {
                tkn = session.NewSingleUseToken(), login_Email = this.Request.Cookies.AllKeys.Contains("l_mail") ? this.Request.Cookies["l_mail"].Value : ""
            }));
        }