且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

EIAC.SSO接入接口文档

更新时间:2022-08-15 15:03:52

EIAC.SSO接入接口文档

protected void Page_Load(object sender, EventArgs e)
        {
            //Session.Abandon()就是把当前Session对象删除了,下一次就是新的Session了。
            Session.Abandon();
            // 在此处放置用户代码以初始化页面,在页面第一次访问时定位到EAC去认证
            if (!IsPostBack)
            {  
                if (Request["IASID"]== null)
                {
                    if (AppSSOBLL.TOEACAuthenticat(InterfaceUtility.GetIASID(), AppSSOBLL.GetTimeStamp(), Request.Url.AbsoluteUri,""))
                    {
                        //todo
                    }
                }
                //接受EAC发送回来的认证信息,如果通过定位到保护页面
                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()))
                            {
 					//为提供的用户名创建一个身份验证票证,并将其添加到响应的 Cookie 集合或 URL。
                                FormsAuthentication.SetAuthCookie(Request["UserAccount"], false);
           		        FormsAuthentication.RedirectFromLoginPage(Request["UserAccount"], false);                             
                            }
                        }                 
                    }
                }
            } 

小注:FormsAuthentication.RedirectFromLoginPage.这个方法接收的参数是用户名或者其它的一些身份信息.在Asp.net中登录用户的状态是持久化存储在客户端的cookie中.当你调用RedirectFromLoginPage时就会创建一个包含加密令牌FormsAuthenticationTicket的cookie,cookie名就是登录用户的用户名