コード例 #1
0
        public ActionResult Login(LoginModel model, string returnUrl)
        {
            if (Session != null)
            {
                Session.Clear();
            }
            var         manager = ServiceFactory.GetService <SysUser>() as SysUserManager;
            GlobSession session = manager.Login(model.UserName, model.Password);

            if (session != null)
            {
                Session["session"] = session;
                FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
                if (model.RememberMe)
                {
                    var ckUsername = new HttpCookie("ckusername");
                    ckUsername.Values.Add("username", model.UserName);
                    ckUsername.Expires.AddDays(30d);
                    Response.Cookies.Add(ckUsername);

                    var ckPassword = new HttpCookie("ckpassword");
                    ckPassword.Values.Add("password", model.Password);
                    ckPassword.Expires.AddDays(30d);
                    Response.Cookies.Add(ckPassword);

                    //var ckRememberMe = new HttpCookie("ckrememberme");
                    //ckRememberMe.Values.Add("rememberme", model.RememberMe.ToString().ToLower());
                    //ckRememberMe.Expires.AddDays(30d);
                    //Response.Cookies.Add(ckRememberMe);
                }
                if (string.IsNullOrEmpty(returnUrl))
                {
                    var url = Url.Action("Admin", "Account");
                    returnUrl = url;
                }
                return(this.RedirectToLocal(returnUrl));;
            }

            ModelState.AddModelError("", "Tên đăng nhập hoặc mật khẩu được cung cấp không chính xác.");
            return(View(model));
        }
コード例 #2
0
        public GlobSession Login(string usercode, string password)
        {
            try
            {
                var user = this.Get(new SysUser()
                {
                    Code = usercode
                });



                if (user != null && SecurityUtils.VerifyHashedPassword(user.Password, password))
                {
                    var service = ServiceFactory.GetService <GlobSession>() as GlobSessionManager;


                    var session = new GlobSession()
                    {
                        SessionId = UniqueIdGenerator.GetInstance().GetBase32UniqueId(16),
                        UserId    = user.Code,
                    };

                    service.Add(session);
                    return(session);
                }


                //failed
                return(null);
            }
            catch (Exception ex)
            {
                var paramList = new ParamLogUtility(() => usercode, () => password).GetParamList();
                throw new ServiceException(ex, paramList);
            }
        }