コード例 #1
0
        public ActionResult Login(LoginCredentialModel loginCredentials)
        {
            AuthenticateProcess authenticate = new AuthenticateProcess();

            if (ModelState.IsValid)
            {
                var loginStatus = authenticate.ValidateLogin(loginCredentials.Username, loginCredentials.Password);
                if (loginStatus == LoginStatus.Successful)
                {
                    // set the forms auth cookie
                    FormsAuthentication.SetAuthCookie(loginCredentials.Username.ToString(), false);

                    // reset request.isauthenticated
                    var authCookie = System.Web.HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];
                    if (authCookie != null)
                    {
                        FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);
                        if (authTicket != null && !authTicket.Expired)
                        {
                            var roles = authTicket.UserData.Split(',');
                            System.Web.HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(new FormsIdentity(authTicket), roles);
                        }
                    }

                    return(RedirectToAction("MyAssets", "Employee"));
                }
                else
                {
                    ModelState.AddModelError("", "Wrong Employee Employee ID or Password");
                }
            }
            return(View());
        }
コード例 #2
0
        public ActionResult ChangePassword(ChangePasswordModel changePasswordModel)
        {
            FASTService.Process.AuthenticateProcess authProcess = new AuthenticateProcess();
            var    client  = new RestClient("http://localhost:8090/api/User/ChangePassword");
            var    request = new RestRequest();
            string body    = String.Format("{{'EmployeeID':{0},'HashedOldPassword':'******','HashedNewPassword':'******'}}",
                                           changePasswordModel.Username.ToString(),
                                           authProcess.HashString(changePasswordModel.OldPassword),
                                           authProcess.HashString(changePasswordModel.NewPassword));

            request.Method = Method.PUT;
            request.AddHeader("Accept", "application/json");
            request.Parameters.Clear();
            request.AddParameter("application/json", body, ParameterType.RequestBody);

            var response = client.Execute(request);
            var content  = response.Content;

            TempData["Result"] = content.Replace('"', ' ').Trim();
            TempData["Source"] = "Change Password";

            return(View("~/Views/Shared/Result.cshtml"));
        }