/// <summary> /// 去掉URL中的令牌 /// 重新登录验证 /// </summary> /// <returns></returns> private string replaceToken() { string url = Request.Url.AbsoluteUri; url = Regex.Replace(url, @"(\?|&)Token=.*", "", RegexOptions.IgnoreCase); //return "{0}?BackURL={1}".WithFormat(AccountLogin, Server.UrlEncode(url)); return(JStringFormat.WithFormat("{0}?BackURL={1}", AccountLogin, Server.UrlEncode(url))); //return "http://www.passport.com/userlogin.aspx?BackURL=" + Server.UrlEncode(url); }
/// <summary> /// ClearToken /// </summary> /// <param name="RedirectURL"></param> public virtual Boolean ClearToken() { Boolean ClearToken = false; Session["Token"] = null; //清空主站凭证 if (Request.QueryString["Token"] == null) { //String RedirectURL = "http://www.passport.com/gettoken.aspx?BackURL=" + Server.UrlEncode(Request.Url.AbsoluteUri + "?Token=$Token$"); String RedirectURL = "{0}?BackURL=" + Server.UrlEncode(Request.Url.AbsoluteUri + "?Token=$Token$"); //Response.Write(RedirectURL + "<BR>"); //Response.Write(GetToken.FormatWith(RedirectURL)); Response.Redirect(JStringFormat.FormatWith(GetToken, RedirectURL)); //Response.Redirect(GetToken.FormatWith(RedirectURL)); } else { if (Request.QueryString["Token"] != "$Token$") { string token = Request.QueryString["Token"]; //创建WebService对象 //String strURL = "http://www.passport.com/TokenService.asmx"; String strURL = TokenService; String ServiceName = "ClearToken"; string[] args = new string[1]; args[0] = token; object o = Net.Common.ResponseWebServices.InvokeWebService(strURL, ServiceName, args); ClearToken = true; } } //清空本地凭证 Session.Abandon(); return(ClearToken); // Response.Redirect(RedirectURL); //Response.Write("已退出!"); }
/// <summary> /// 获取带令牌请求的URL /// </summary> /// <returns></returns> private string getTokenURL() { string url = Request.Url.AbsoluteUri; Regex reg = new Regex(@"^.*\?.+=.+$"); if (reg.IsMatch(url)) { url += "&Token=$Token$"; } else { url += "?Token=$Token$"; } //return "{0}?BackURL={1}".WithFormat(GetToken, Server.UrlEncode(url)); return(JStringFormat.WithFormat("{0}?BackURL={1}", GetToken, Server.UrlEncode(url))); //return "http://www.passport.com/gettoken.aspx?BackURL=" + Server.UrlEncode(url); }