Пример #1
0
        private static IRestResponse <T> GetApiInfo(string url, object pars, Method type)
        {
            var request = new RestRequest(type);

            if (pars != null)
            {
                request.AddObject(pars);
            }
            var cm = CacheManager <UserInfo> .GetInstance();

            string uniqueKey = PubGet.GetUserKey;

            if (cm.ContainsKey(uniqueKey))
            {
                request.AddCookie(PubConst.UserUniqueKey, CookiesManager <string> .GetInstance()[PubConst.UserUniqueKey]);
            }
            var client = new RestClient(RequestInfo.HttpDomain + url);

            client.CookieContainer = new System.Net.CookieContainer();
            IRestResponse <T> reval = client.Execute <T>(request);

            if (reval.ErrorException != null)
            {
                PubMethod.WirteExp(new Exception(reval.Content));
                throw new Exception("请求出错");
            }
            return(reval);
        }
        public string ProcessLogOut()
        {
            var cm = CookiesManager <V_User_Information> .GetInstance();

            cm.Remove(CostCookies.COOKIES_KEY_LOGIN);
            return("ok");
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            //声名一个数据集合
            var listString = new List <string>()
            {
                "a", "b", "c"
            };
            //缓存key
            string key = "cokey";

            //获取实例
            var cookiesManager = CookiesManager <List <string> > .GetInstance();

            //插入缓存
            cookiesManager.Add(key, listString, cookiesManager.Minutes * 30);//过期30分钟
            //add有其它重载 上面是最基本的

            //获取
            List <string> cookiesList = cookiesManager[key];

            //其它方法
            cookiesManager.ContainsKey(key);

            cookiesManager.Remove(key);                          //删除

            cookiesManager.RemoveAll(c => c.Contains("sales_")); //删除key包含sales_的cookies

            cookiesManager.GetAllKey();                          //获取所有key
        }
Пример #4
0
        private static IRestResponse <T> GetApiInfo(string url, object pars, Method type)
        {
            var request = new RestRequest(type);

            if (pars != null)
            {
                request.AddObject(pars);
            }
            var cm = SyntacticSugar.CacheManager <UserInfo> .GetInstance();

            string uniqueKey = PubGet.GetUserKey;

            if (cm.ContainsKey(uniqueKey))
            {
                request.AddCookie(KeyHelper.UserUniqueKey, CookiesManager <string> .GetInstance()[KeyHelper.UserUniqueKey]);
            }
            var client =
                new RestClient(RequestInfo.HttpDomain + url)
            {
                CookieContainer = new System.Net.CookieContainer()
            };
            IRestResponse <T> reval = client.Execute <T>(request);

            if (reval.ErrorException == null)
            {
                return(reval);
            }
            LogProvider.Error("数据库", new Exception(reval.Content).Message);
            throw new Exception("请求出错");
        }
Пример #5
0
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            var cm = CookiesManager <string> .GetInstance();

            if (!cm.ContainsKey(PubConst.UserUniqueKey) || cm[PubConst.UserUniqueKey].IsNullOrEmpty())
            {
                cm.Add(PubConst.UserUniqueKey, Guid.NewGuid().ToString(), cm.Day * 365);
            }
            CheckAdmin(filterContext);
        }
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            base.OnActionExecuting(filterContext);
            var cm = CookiesManager <Sys_User> .GetInstance();

            if (!cm.ContainsKey(CostCookies.COOKIES_KEY_LOGIN))
            {
                Response.Redirect("/Login/Index");
            }
        }
Пример #7
0
        public ActionResult Logout()
        {
            var cm = CacheManager <UserInfo> .GetInstance();

            var cm2 = CookiesManager <string> .GetInstance();

            string uniqueKey = PubGet.GetUserKey;

            cm.Remove(uniqueKey);
            cm2.Remove(PubConst.UserUniqueKey);
            return(Redirect("~/Ask?isLogout=true"));
        }
Пример #8
0
        public bool Login(string userName, string password)
        {
            var isAny = this.db.Queryable <user_info>().Any(it => it.user_name == userName && it.password == password);

            if (isAny)
            {
                var cm = CookiesManager <user_info> .GetInstance();

                var user = this.db.Queryable <user_info>().Single(it => it.user_name == userName && it.password == password);
                cm.Add(COOKIES_KEY_LOGIN, user, cm.Day * 30);//保存30天
            }
            return(isAny);
        }
        public static Sys_User GetCurrentUser()
        {
            var cm = CookiesManager <Sys_User> .GetInstance();

            if (cm.ContainsKey(CostCookies.COOKIES_KEY_LOGIN))
            {
                return(cm[CostCookies.COOKIES_KEY_LOGIN]);
            }
            else
            {
                return(null);
            }
        }
Пример #10
0
        public user_info GetCurrentUser()
        {
            var cm = CookiesManager <user_info> .GetInstance();

            if (cm.ContainsKey(COOKIES_KEY_LOGIN))
            {
                return(cm[COOKIES_KEY_LOGIN]);
            }
            else
            {
                //抛出空引用
                Check.ArgumentNullException(null, "UserInfoService.GetCurrentUser!");
                return(null);
            }
        }
        public string Index(string userName, string pwd)
        {
            string result = _ul.ProcessLogin(userName, pwd);

            if (result == "登陆成功!")
            {
                var userInfo = _ul.GeUserManagement(userName);
                //登陆成功:将登录信息写入cookie
                var cm = CookiesManager <V_User_Information> .GetInstance();

                cm.Add(CostCookies.COOKIES_KEY_LOGIN, userInfo, cm.Hour * 24);//将cookie保存24小时
                //存入操作日志表
                string logData = JsonHelper.ModelToJson(userInfo);
                _ll.SaveLog(14, 0, userName, "", logData);
                return("ok");
            }
            return(result);
        }
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            var    condesc        = filterContext.ActionDescriptor.ControllerDescriptor;
            string actionName     = filterContext.ActionDescriptor.ActionName.ToLower();
            var    controllerName = condesc.ControllerName.ToLower();

            if (actionName == "index" && controllerName == "login")
            {
                return;
            }
            var cm = CookiesManager <Sys_User> .GetInstance();

            if (cm.ContainsKey(CostCookies.COOKIES_KEY_LOGIN))
            {
                Sys_User currentUser = cm[CostCookies.COOKIES_KEY_LOGIN];
                cm.Add(CostCookies.COOKIES_KEY_LOGIN, currentUser, cm.Hour * 24); //保存24小时
            }
            else
            {
                ErrorRedirect(filterContext, "index");
            }
        }
Пример #13
0
        public bool IsLogin()
        {
            var cm = CookiesManager <user_info> .GetInstance();

            return(cm.ContainsKey(COOKIES_KEY_LOGIN));
        }