Example #1
0
        /// <summary>
        /// 处理输出
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public string Process(HttpContext context)
        {
            string actionStr  = context.Request["action"];
            string token      = context.Request["token"];
            string sessionKey = context.Request["session.key"];

            //除登出外均需要验证
            if (token != this._communicateToken)
            {
                return(JsonConvert.SerializeObject(new SessionResult {
                    Message = "通信错误!"
                }));
            }

            if (actionStr != null)
            {
                SessionServerAction action = (SessionServerAction)Enum.Parse(
                    typeof(SessionServerAction), actionStr, true);

                //登出
                if (action == SessionServerAction.Logout)
                {
                    SsoResult result = this._server.LoginOut(sessionKey);
                    return(JsonConvert.SerializeObject(result));
                }

                if (action == SessionServerAction.Login)
                {
                    SsoResult result = this._server.Login(context.Request["usr"],
                                                          context.Request["pwd"]);
                    return(JsonConvert.SerializeObject(result));
                }

                if (action == SessionServerAction.GetSession)
                {
                    Person person = this._server.SessionManager.GetPerson(sessionKey);
                    if (person == null)
                    {
                        return(JsonConvert.SerializeObject(new SessionResult {
                            Message = "No session"
                        }));
                    }

                    return(JsonConvert.SerializeObject(new SessionResult {
                        Result = true, Person = person
                    }));
                }

                if (action == SessionServerAction.Test)
                {
                    return("Test ok!");
                }
            }


            return(JsonConvert.SerializeObject(new SessionResult {
                Message = "Invalid request"
            }));
        }
Example #2
0
        /// <summary>
        /// 处理输出
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public string Process(HttpContext context)
        {
            string _action = context.Request["action"];
            string token   = context.Request["token"];

            if (_action != null)
            {
                SessionServerAction action = (SessionServerAction)Enum.Parse(typeof(SessionServerAction), _action, true);

                //登出
                if (action == SessionServerAction.Logout)
                {
                    this._server.LoginOut();
                    return(JsonConvert.SerializeObject(new SessionResult {
                        Result = true, Message = "已经退出!"
                    }));
                }

                //除登出外均需要验证
                if (token != Variables.CommunicateToken)
                {
                    return(JsonConvert.SerializeObject(new SessionResult {
                        Message = "通信错误!"
                    }));
                }

                if (action == SessionServerAction.GetSession)
                {
                    return(ProcessClientGetSession(context));
                }
            }


            return(JsonConvert.SerializeObject(new SessionResult {
                Message = "非法请求!"
            }));
        }