if (!IsPostBack)
{
bool isUrlAvailable = IsUrlAvailable();
//微软EIAC服务器的EAC验证(单点登录机制)
if (isUrlAvailable &&AppSSOBLL.TOEACAuthenticat(InterfaceUtility.GetIASID(), AppSSOBLL.GetTimeStamp(), Request.Url.ToString(), ""))
{
//todo
}
if (Request["IASID"] != null)
{
if (Request["Result"].ToString() == "0")
{
if (AppSSOBLL.ValidateFromEAC(Request["IASID"].ToString(), Request["TimeStamp"].ToString(), Request["UserAccount"].ToString(), Request["Result"].ToString(), Request["ErrorDescription"].ToString(), Request["Authenticator"].ToString()))
{
if (Request["UserAccount"] != null)
{
//跳到应用程序页面 }
}
}
}
}
public bool IsUrlAvailable()
{
try
{
XmlTextReader reader = new XmlTextReader(Server.MapPath("PSOSetting.config")); // new一个XMLTextReader实例
XmlDocument doc = new XmlDocument();
doc.Load(reader);//
reader.Close();//关闭reader,不然config文件就变成只读的了
String url = doc.SelectSingleNode("Config").ChildNodes.Item(6).InnerXml.ToString();
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
using (HttpWebResponse rsp = (HttpWebResponse)req.GetResponse())
{
if (rsp.StatusCode == HttpStatusCode.OK)
{
return true;
}
}
}
catch (WebException)
{
// Eat it because all we want to do is return false
}
// Otherwise
return false;
}