コード例 #1
0
        public IActionResult Login(string acc, string pwd)
        {
            try
            {
                if (!string.IsNullOrEmpty(acc) && !string.IsNullOrEmpty(pwd) && acc.Length > 4 && pwd.Length > 4)
                {
                    var a = _context.Accounts.FirstOrDefault(o => o.Name == acc && o.Password == pwd);
                    if (a != null)
                    {
                        var loginData = new LoginDataViewModel
                        {
                            AccountId   = a.Id,
                            AccountName = a.Name,
                        };

                        var charList = _context.Characters.Where(o => o.Accountid == a.Id).AsNoTracking().Select(o => new CharacterViewModel
                        {
                            Id    = o.Id,
                            Job   = o.Job.Value,
                            Name  = o.Name,
                            Level = o.Level.Value,
                            World = o.World.Value,
                        }).ToList();

                        loginData.Characters = charList;
                        HttpContext.Session.Set("LoginData", loginData);

                        return(new JsonResult(new ReponseJsonViewModel
                        {
                            Code = 0,
                            Msg = "ok",
                            Body = loginData,
                        }));
                    }
                }

                return(new JsonResult(new ReponseJsonViewModel
                {
                    Code = 1,
                    Msg = "哦豁,账号或密码不正确,请重新输入。",
                    Body = null,
                }));
            }
            catch (Exception ex)
            {
                return(new JsonResult(new ReponseJsonViewModel
                {
                    Code = 2,
                    Msg = string.Concat("哦豁,出错了。", ex.Message),
                    Body = ex,
                }));
            }
        }
コード例 #2
0
        public ActionResult Login(LoginDataViewModel formData)

        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var url = "http://localhost:56327/token";

            var httpClient = new HttpClient();

            var parameters = new List <KeyValuePair <string, string> >();

            parameters.Add(new KeyValuePair <string, string>("username", formData.UserName));
            parameters.Add(new KeyValuePair <string, string>("password", formData.Password));
            parameters.Add(new KeyValuePair <string, string>("grant_type", formData.GrantType));

            var encodedValues = new FormUrlEncodedContent(parameters);

            var response = httpClient.PostAsync(url, encodedValues).Result;

            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                var data = response.Content.ReadAsStringAsync().Result;

                var result = JsonConvert.DeserializeObject <LoginData>(data);

                var cookie = new HttpCookie("SavedCookie",
                                            result.AccessToken);

                Response.Cookies.Add(cookie);

                return(View("Index"));
            }
            else if (response.StatusCode == System.Net.HttpStatusCode.BadRequest)
            {
                var data   = response.Content.ReadAsStringAsync().Result;
                var result = JsonConvert.DeserializeObject <APIErrorData>(data);

                ViewBag.Result = result;
                //       ViewBag.Errors = result.ModelState.Values;

                return(View());
            }
            else if (response.StatusCode == System.Net.HttpStatusCode.InternalServerError)
            {
                return(View("Error"));
            }

            return(View());
        }
コード例 #3
0
        public ActionResult Register(string login, string password, string passwordRetype, bool licenceAgree)
        {
            var registerDataViewModel = new LoginDataViewModel();
            registerDataViewModel.RegisterData = new RegisterData { Login = login, Password = password, PasswordRetype = passwordRetype, LicenceAgree = licenceAgree};

            if (!IsRegisterDataViewModelValid(registerDataViewModel))
            {
                SetNotification(NotificationType.Error, "Some of the input data are invalid.");
                return FailureJsonResult();
            }

            SetNotification(NotificationType.Info, "Succesfully registered as " + login);

            return ProcessCommandData(registerDataViewModel.RegisterData, () => Json(LastCommandResult, JsonRequestBehavior.AllowGet));
        }
コード例 #4
0
        public ActionResult Login(string login, string password, bool rememberMe)
        {
            var loginDataViewModel = new LoginDataViewModel();
            loginDataViewModel.LoginData = new LoginData {Login = login, Password = password, RememberMe = rememberMe};

            if (!IsLoginDataViewModelValid(loginDataViewModel))
            {
                SetNotification(NotificationType.Error, "Some of the input data are invalid.");
                return FailureJsonResult();
            }

            SetNotification(NotificationType.Info, "Succesfully logged in as " + login);

            return ProcessCommandData(loginDataViewModel.LoginData,
                                      () => Json(LastCommandResult, JsonRequestBehavior.AllowGet));
        }
コード例 #5
0
        public void LoginController_IsAuthorized()
        {
            //Arrange
            var mockService = new Mock <ILoginService>();
            var controller  = new LoginController(mockService.Object);
            var vm          = new AuthRequestViewModel
            {
                EmailAddress = "",
                Password     = ""
            };

            var response = new LoginDataViewModel("aaaaaa", "aaaaaaaaaaa");

            mockService.Setup(serv => serv.Login(vm))
            .Returns(response);

            //Act
            var result = controller.Authenticate(aAuthRequest: vm);

            //Assert
            Assert.IsType <OkObjectResult>(result);
        }
コード例 #6
0
        public async Task <IActionResult> AddOrEditLoginData(LoginDataViewModel loginDataView, string Id)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView("Views/Forms/AddOrEditLoginData.cshtml", loginDataView));
            }
            var loginData = new LoginData
            {
                Id          = 0,
                Name        = loginDataView.Name,
                Login       = loginDataView.Login,
                Email       = loginDataView.Email,
                Website     = loginDataView.Website,
                Compromised = PwnedPasswords.IsPasswordPwnedAsync(loginDataView.Password,
                                                                  new CancellationToken(), null).Result == -1 ? 0 : 1,
                Password = _encryptionService.Encrypt(AuthUserId,
                                                      loginDataView.Password)
            };

            loginData.UserId = Int32.Parse(AuthUserId);
            if (!Id.Equals("0"))
            {
                loginData.Id = Int32.Parse(dataProtectionHelper.Decrypt(Id, _config["QueryStringsEncryptions"]));
            }
            if (loginData.Id == 0)
            {
                await _apiService.CreateUpdateData <LoginData>(loginData);
            }
            else
            {
                await _apiService.CreateUpdateData <LoginData>(loginData, loginData.Id);
            }
            ClearCache();
            OnDataEdit(loginData);
            return(RedirectToAction("List"));
        }
コード例 #7
0
        public ItemsPage()
        {
            InitializeComponent();

            BindingContext = _viewModel = new LoginDataViewModel();
        }
コード例 #8
0
 private bool IsLoginDataViewModelValid(LoginDataViewModel loginDataViewModel)
 {
     return ModelState.IsValid && loginDataViewModel.LoginData.IsValid();
 }
コード例 #9
0
 public ActionResult ShowLoginDialog()
 {
     var viewModel = new LoginDataViewModel();
     return PartialView("_LoginDialogPartial", viewModel);
 }