예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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("已退出!");
        }
예제 #3
0
        /// <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);
        }