예제 #1
0
        public ActionResult SumbitLogon(VOUser user)
        {
            if (string.IsNullOrEmpty(user.UserName) || string.IsNullOrEmpty(user.Password))
            {
                return(RedirectToAction("Logon", "LogonForm", new { message = "登录名,密码不能为空!" }));
            }

            JsonUser jsonUser = UserService.CheckUserPassword(user.UserName, user.Password);

            CookieUtils.AddCookie("LogonID", user.UserName, System.Web.HttpContext.Current);

            if (user.RememberMe)
            {
                HttpCookie cookie = CookieUtils.GetCookie(System.Web.HttpContext.Current, "LogonID");
                cookie.Expires = DateTime.Now.AddDays(7);
            }
            GlobalVariables.CurrentUser = jsonUser;

            if (jsonUser == null)
            {
                return(RedirectToAction("Logon", "LogonForm", new { message = "用户名,密码验证失败!" }));
            }

            return(RedirectToAction("Index", "ParticipateConsultation"));
        }
예제 #2
0
        public void CreateAuthenticationTicket(Users user, HttpResponseBase response, HttpContextBase httpContextBase, bool remember)
        {
            var serializeModel = GetModel(user);
            var userGroup      = user.UserGroup;

            UserRep.AddUserCache(serializeModel);
            var    expiration = remember ? DateTime.Now.AddYears(1) : DateTime.Now.AddMinutes(FormsAuthentication.Timeout.TotalMinutes);
            string userData   = $"{user.GId}|{UserRep.GetIP()}|{userGroup}";
            var    authTicket = new FormsAuthenticationTicket(
                1, user.GId.ToString(), DateTime.Now, expiration, remember, userData);
            string encTicket = FormsAuthentication.Encrypt(authTicket);

            CookieUtils.AddCookie(GetCookieName(), encTicket, expiration);
            setPrinciple(serializeModel, userGroup);
        }
        public void CreateAuthenticationTicket(Users user, HttpResponseBase response, HttpContextBase httpContextBase, bool remember)
        {
            var serializeModel = GetModel(user);

            Cache.Add(user.GId.ToString(), serializeModel, CacheTime);
            var expiration = remember ? DateTime.Now.AddYears(1) : DateTime.Now.AddHours(1);
            var authTicket = new FormsAuthenticationTicket(
                1, user.GId.ToString(), DateTime.Now, expiration, remember, user.GId.ToString());
            string encTicket = FormsAuthentication.Encrypt(authTicket);

            CookieUtils.AddCookie(GetCookieName(), encTicket, remember);
            var userPrincipal = new SysUser(serializeModel);

            httpContextBase.User = userPrincipal;
        }
예제 #4
0
        /// <summary>
        /// 登录认证
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public JsonMessage UserLoginAuth(string userName, string password)
        {
            if (string.IsNullOrEmpty(userName))
            {
                return(JsonHandler.CreateMessage(-1, "请输入用户名"));
            }
            if (string.IsNullOrEmpty(password))
            {
                return(JsonHandler.CreateMessage(-1, "请输入密码"));
            }

            User user = GetUser(userName, password);

            if (user == null || user.UserId <= 0)
            {
                return(JsonHandler.CreateMessage(0, "用户名或密码错误"));
            }

            var userInfo = new
            {
                UserId   = user.UserId,
                UserName = user.UserName,
                PassWord = user.PassWord,
                Mobile   = user.Mobile,
                Role     = user.Role
            };

            //生成token
            var token = Guid.NewGuid().ToString();

            //写入token
            CookieUtils.AddCookie("token", token, 30);
            //写入凭证
            RedisUtils.Set(token, userInfo, new TimeSpan(0, 30, 0));

            return(JsonHandler.CreateMessage(1, "登录成功"));
        }