public JsonResult GetSSOManager(string code) { return(ExecuteFunctionRun(() => { ActionResult result = new ActionResult(); SSOSystem ssm = this.Engine.SSOManager.GetSSOSystem(code); if (ssm == null) { result.Success = false; result.Message = "msgGlobalString.NullObjectException"; return Json(result, JsonRequestBehavior.AllowGet); } SSOManagerViewModel model = new SSOManagerViewModel() { ObjectID = ssm.ObjectID, SystemName = ssm.SystemName, SystemCode = ssm.SystemCode, SubmitUserNameControlID = ssm.SubmitUserNameControlID, SubmitUrl = ssm.DefaultUrl, DefaultUrl = ssm.DefaultUrl, SubmitPasswordID = ssm.SubmitPasswordID, State = ssm.State, Secret = ssm.Secret, Description = ssm.Description, AllowGetToken = ssm.AllowGetToken }; result.Success = true; result.Extend = model; return Json(result, JsonRequestBehavior.AllowGet); })); }
public string SSOSystemUrl(string SystemCode, string Secret, string UserCode, string TargetSystemCode, string TargetUrl) { bool result = this.Engine.SSOManager.ValidateSSOSystem(SystemCode, Secret); if (!result) { this.Engine.LogWriter.Write(string.Format("SSOSystem.false,SystemCode={0},Secret={1}", SystemCode, Secret)); return(string.Empty); } string token = this.Engine.SSOManager.GetToken(SystemCode, Secret, TargetSystemCode, UserCode); string url = TargetUrl; if (string.IsNullOrEmpty(url)) { SSOSystem targetSystem = this.Engine.SSOManager.GetSSOSystem(TargetSystemCode); if (targetSystem == null) { return(string.Empty); } url = targetSystem.DefaultUrl; } if (url.IndexOf("?") > -1) { url += "&Token=" + token; } else { url += "?Token=" + token; } return(url); }
public JsonResult SaveSSOManager(SSOManagerViewModel model) { return(ExecuteFunctionRun(() => { ActionResult result = new ActionResult(); SSOSystem ssm = this.Engine.SSOManager.GetSSOSystem(model.SystemCode); if (string.IsNullOrEmpty(model.ObjectID)) { //单点登录信息 if (ssm != null && !string.IsNullOrEmpty(ssm.ObjectID)) { result.Success = false; result.Message = "msgGlobalString.CodeDuplicate"; return Json(result, JsonRequestBehavior.AllowGet); } ssm = new SSOSystem() { AllowGetToken = model.AllowGetToken, DefaultUrl = model.DefaultUrl, Description = model.Description, Secret = model.Secret, State = model.State, SubmitPasswordID = model.SubmitPasswordID, SubmitUrl = model.SubmitUrl, SubmitUserNameControlID = model.SubmitUserNameControlID, SystemCode = model.SystemCode, SystemName = model.SystemName }; if (!this.Engine.SSOManager.AddSSOSystem(ssm)) { result.Message = "msgGlobalString.SaveFailed"; result.Success = false; } else { result.Success = true; } } else { if (ssm == null) { result.Message = "msgGlobalString.SaveFailed"; result.Success = false; } else { ssm.AllowGetToken = model.AllowGetToken; ssm.DefaultUrl = model.DefaultUrl; ssm.Description = model.Description; //ssm.Secret = model.Secret; ssm.State = model.State; ssm.SubmitPasswordID = model.SubmitPasswordID; ssm.SubmitUrl = model.SubmitUrl; ssm.SubmitUserNameControlID = model.SubmitUserNameControlID; ssm.SystemCode = model.SystemCode; ssm.SystemName = model.SystemName; if (!this.Engine.SSOManager.UpdateSSOSystem(ssm)) { result.Message = "msgGlobalString.SaveFailed"; result.Success = false; } else { result.Success = true; } } } return Json(result, JsonRequestBehavior.AllowGet); })); }