Example #1
0
        public ActionResult LogOn(LogOnModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                if (!string.IsNullOrWhiteSpace(model.UserName))
                {
                    var command = new AddUserRequest {UserName = model.UserName};
                    if (ServerProvider.MakeRequest(command).Status != Statuses.Ok)
                    {
                        ModelState.AddModelError("", "Пользователь " + model.UserName + " уже в сети.");
                    }
                    else
                    {

                        FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
                        if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
                            && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
                        {
                            return Redirect(returnUrl);
                        }
                        return RedirectToAction("Index", "Home");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Имя пользователя или пароль указаны неверно.");
                }
            }

            // Появление этого сообщения означает наличие ошибки; повторное отображение формы
            return View(model);
        }
Example #2
0
 public override void DoWork(IEnumerable<string> args)
 {
     if (Utils.CheckArgs(ArgsNeed, args.Count()))
     {
         if (Utils.IsNotLoggedIn())
         {
             var request = new AddUserRequest {UserName = args.ToArray()[0]};
             var response = ServerProvider.MakeRequest(request);
             if (response.Status == Statuses.Ok)
             {
                 CurrentUser.Name = args.ToArray()[0];
                 CurrentUser.StartPulse();
                 Console.WriteLine("You logged in as: " + CurrentUser.Name);
             }
             else
             {
                 Console.WriteLine(response.Status == Statuses.DuplicateUser
                     ? "This user already logged in."
                     : "Bad status");
             }
         }
     }
 }