Beispiel #1
0
        public ActionResult Login(LoginViewModel model, string returnUrl = "")
        {
            if (ModelState.IsValid)
            {
                ZUSR user = service.IntegrationAuthentication(model.UserName, model.Password, model.Functional);

                if (user != null)
                {
                    WebCorePrincipalSerializeModel serializeModel = new WebCorePrincipalSerializeModel();
                    serializeModel.UserId     = user.UserID;
                    serializeModel.UserName   = user.UserName;
                    serializeModel.FullName   = user.UserName;
                    serializeModel.IsSysAdmin = false;

                    string userData = JsonConvert.SerializeObject(serializeModel);
                    FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(
                        1,
                        user.UserName,
                        DateTime.Now,
                        DateTime.Now.AddMinutes(60),
                        model.Remember,
                        userData);

                    string     encTicket = FormsAuthentication.Encrypt(authTicket);
                    HttpCookie faCookie  = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
                    Response.Cookies.Add(faCookie);

                    if (string.IsNullOrEmpty(returnUrl))
                    {
                        return(RedirectToAction("Index", "Home"));
                    }
                    else
                    {
                        return(Redirect(returnUrl));
                    }
                }
            }
            ViewBag.FunctionList = new SelectList(itemService.GetItemByCode(Category.FUNCTIONS), "Code", "Name");
            ModelState.AddModelError("", "UserId or Password is incorrect.");
            return(View(model));
        }
Beispiel #2
0
        protected void Application_PostAuthenticateRequest(Object sender, EventArgs e)
        {
            HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];

            if (authCookie != null && !string.IsNullOrEmpty(authCookie.Value))
            {
                FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);
                if (authTicket != null)
                {
                    WebCorePrincipalSerializeModel serializeModel = JsonConvert.DeserializeObject <WebCorePrincipalSerializeModel>(authTicket.UserData);
                    WebCorePrincipal newUser = new WebCorePrincipal(authTicket.Name);

                    newUser.Id               = serializeModel.UserId;
                    newUser.UserId           = serializeModel.UserName;
                    newUser.FullName         = serializeModel.FullName;
                    newUser.IsSysAdmin       = serializeModel.IsSysAdmin;
                    newUser.roles            = serializeModel.roles;
                    HttpContext.Current.User = newUser;
                }
            }
        }