public static int SendSSOAuthanXML(string ProvinceID,string SPID, string RedirectURL, HttpContext SpecificContext, string SPDataCacheName, MBOSSClass.AcceptAccountTypeList[] AcceptAccountTypes, string ExtendField, string TransactionID, out string ResultXML, out string ErrMsg, out string newExtendField) { int result = -20005; ResultXML = ""; ErrMsg = ""; newExtendField = ""; MBOSSClass Mboss = new MBOSSClass(); //SPInfoManager spInfo = new SPInfoManager(); //byte[] privateKeyFile; //string UserName = ""; //string privateKeyPassword = ""; try { //Object SPData = spInfo.GetSPData(SpecificContext, SPDataCacheName); //privateKeyFile = spInfo.GetCAInfo("35111111", 1, SPData, out UserName, out privateKeyPassword); result = Mboss.SSOAuthanXML(ProvinceID,SPID, RedirectURL, AcceptAccountTypes, SpecificContext, SPDataCacheName, out ResultXML, out ErrMsg, out TransactionID); } catch (Exception err) { result = -20005; ErrMsg = err.Message; } finally { #region WriteLog StringBuilder msg = new StringBuilder(); msg.Append("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\r\n\r\n"); msg.Append(" CAP01003 发送身份认证请求 " + DateTime.Now.ToString("u") + "\r\n"); msg.Append(";RedirectURL - " + RedirectURL); msg.Append(";SpecificContext - " + SpecificContext); msg.Append(";SPDataCacheName - " + SPDataCacheName + "\r\n"); if (AcceptAccountTypes != null) { for (int i = 0; i < AcceptAccountTypes.Length; i++) { msg.Append(";AcceptAccountType - " + AcceptAccountTypes[i].AcceptAccountType); } } else { msg.Append(";AcceptAccountType - " + ""); } msg.Append("\r\n ;ExtendField - " + ExtendField); msg.Append("\r\n"); msg.Append("处理结果 - " + result); msg.Append("ResultXML - " + ResultXML); msg.Append("; 错误描述 - " + ErrMsg); msg.Append("; ExtendField - " + newExtendField + "\r\n"); msg.Append("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\r\n"); BTUCenterInterfaceLog.CenterForBizTourLog("SendSSOAuthanXML", msg); #endregion } return result; }
protected void ssoFunc() { string UAProvinceID = Request["ProvinceID"]; PageUtility.SetCookie(UAProvinceID, "UAProvinceID", this.Page); if (CommonUtility.IsParameterExist("UATicket", this.Page)) { Response.Redirect("SelectAssertion.aspx?UATicket=" + Request["UATicket"]); } if (CommonUtility.IsParameterExist("ProvinceID", this.Page)) { ReturnURL = Request.Cookies["ReturnURL"].Value.ToString(); } else return ; USPID = UAProvinceID + "999991"; //1判断全局Token是否存在 try { MBOSSClass mboss = new MBOSSClass(); //MBOSSClass.SSOAddressResp SSOAddress; //Result = mboss.AuthenSelectArddess(ProvinceID, this.Context, "SPCAData", out SSOAddress, out ErrMsg); //if (Result != 0) //{ // SendJF(); // return; //} //string SSOAddress1 = SSOAddress.SSOAddress;//省级UA的SSO接入地址 //string AssertionAddress1 = SSOAddress.AssertionAddress;//省级UA的断言查询地址 //获取SSO认证地址和断言查询地址 Result = mboss.GetMBOSSAddress(this.Context, USPID, out AssertionAddress, out SSOAddress, out ErrMsg); if (Result != 0) { SendJF(); return; } PageUtility.SetCookie(AssertionAddress, "AssertionAddress", this.Page); PageUtility.SetCookie(SSOAddress, "SSOAddress", this.Page); //SPID = this.Response.Cookies["SPID"].Value.ToString(); //向归属地UA发送身份认证请求 //MBOSSClass.AcceptAccountTypeList[] acs = new MBOSSClass.AcceptAccountTypeList[1]; //MBOSSClass.AcceptAccountTypeList ac = new MBOSSClass.AcceptAccountTypeList(); //ac.AcceptAccountType = "0000000"; //acs[0] = ac; MBOSSClass.AcceptAccountTypeList[] acs = new MBOSSClass.AcceptAccountTypeList[1]; MBOSSClass.AcceptAccountTypeList ac = new MBOSSClass.AcceptAccountTypeList(); //ac.AcceptAccountType = "2000001"; //acs[0] = ac; //MBOSSClass.AcceptAccountTypeList ac1 = new MBOSSClass.AcceptAccountTypeList(); //ac1.AcceptAccountType = "2000002"; //acs[1] = ac1; //MBOSSClass.AcceptAccountTypeList ac2 = new MBOSSClass.AcceptAccountTypeList(); //ac2.AcceptAccountType = "2000003"; //acs[2] = ac2; //MBOSSClass.AcceptAccountTypeList ac3 = new MBOSSClass.AcceptAccountTypeList(); //ac3.AcceptAccountType = "2000004"; //acs[3] = ac3; //MBOSSClass.AcceptAccountTypeList ac4 = new MBOSSClass.AcceptAccountTypeList(); ac.AcceptAccountType = "0000000"; acs[0] = ac; string ResultXML = ""; string TransactionID = ""; string SelectAssertion = System.Configuration.ConfigurationManager.AppSettings["SelectAssertion"]; log("积分商城ReturnURL=" + ReturnURL); Result = mboss.SSOAuthanXML(UAProvinceID,SPID, SelectAssertion, acs, this.Context, "SPCAData", out ResultXML, out ErrMsg, out TransactionID); log(" mboss.SSOAuthanXML Result" + Result + "ResultXML " + ResultXML + "ErrMsg" + ErrMsg); if (Result != 0) { SendJF(); return; } PageUtility.SetCookie(TransactionID, "TransactionID", this.Page); //post到sso认证地址 Response.Write("<form name='frm' id='frm' action='" + SSOAddress + "' method='post'>"); Response.Write("<input name='SSORequestXML' value='" + ResultXML + "' type='hidden' >"); Response.Write("</form>"); Response.Write("<script language='javascript'>frm.submit();</script>"); } catch (Exception err) { SendJF(); return; } }