/// <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" })); }
private string ProcessRequest(HttpContext context, string actionStr, string sessionKey) { if (actionStr != null) { ServerAction action = (ServerAction)Enum.Parse( typeof(ServerAction), actionStr, true); //登出 if (action == ServerAction.Logout) { SsoResult result = this.LoginOut(sessionKey); //return JsonConvert.SerializeObject(result); if (result.Result) { return("{\"Result\":true,\"Message\":\"" + result.Message.Replace("\"", "'") + "\"}"); } else { return("{\"Result\":false,\"Message\":\"" + result.Message + "\"}"); } } if (action == ServerAction.Login) { SsoResult result = this.Login(context.Request["usr"], context.Request["pwd"]); return(JsonConvert.SerializeObject(result)); } if (action == ServerAction.GetSession) { Person person = this.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 == ServerAction.Test) { return("test ok!"); } } return(JsonConvert.SerializeObject(new SessionResult { Message = "invalid request" })); }
public SsoResult Logout(string sessionKey) { SsoResult result = ClientUtil.LogoutRequest(this._serverUrl, this._token, sessionKey); if (result.Result && !string.IsNullOrEmpty(result.Message)) { string oldMsg = result.Message; try { result.Message = SsoUtil.DecodeBase64(result.Message); } catch { result.Message = oldMsg; } } return(result); }
public SsoResult Login(string user, string pwd) { SsoResult result = ClientUtil.LoginRequest(this._serverUrl, this._token, user, pwd); if (result.Result && !string.IsNullOrEmpty(result.Message)) { string oldMsg = result.Message; try { result.Message = SsoUtil.DecodeBase64(result.Message); } catch { result.Message = oldMsg; } } return(result); }
/// <summary> /// 登陆 /// </summary> /// <param name="usr"></param> /// <param name="pwd"></param> /// <returns></returns> private SsoResult Login(string usr, string pwd) { SsoResult result = new SsoResult(); int personId = 0; if ((personId = this._ssoHandler(usr, pwd)) > 0) { result.Result = true; result.SessionKey = this._sessionManager.SaveSession(personId); result.Message = this.GetSsoLoginHtml(result.SessionKey); } else { result.Message = ""; } return(result); }
/// <summary> /// 登陆 /// </summary> /// <param name="usr"></param> /// <param name="pwd"></param> /// <returns></returns> private SsoResult Login(string usr, string pwd) { SsoResult result = new SsoResult(); int personId = 0; if ((personId = this._ssoHandler(usr, pwd)) > 0) { result.Result = true; result.SessionKey = this._sessionManager.SaveSession(personId); result.Message = this.GetSsoLoginHtml(result.SessionKey); } else { result.Message = ""; } return result; }