首先请看我之前提过的问题,Cookie跨域共享:
http://community.csdn.net/Expert/TopicView.asp?id=3399813简要地说,我们的系统由5台Web server组成一个farm,拥有6个不同的域名,在这些域名下共享相同的web application。由于我们需要使用cookie识别用户身份,而cookie又不能跨域传递,我们最终选择了使用一个中央域名作为默认cookie解析服务器,访问其他域名的时候,请求会被转向到默认服务器,去读取cookie,然后把用户ID附加到URL中作为query string重新转向到起始服务器,这样起始服务器就可以通过query string取得原先在cookie中的内容。
这个解决方案工作的很好,但是今天遇到一个需求,我们要在新的partner(google.com)投放我们的链接,但是google要求比较严格:从google点击链接进入我们的站点,用户必须能够在我们站点的第一页上点浏览器后退按钮退回到google。但是问题在于我们的系统会在从google进入后执行2次redirect,导致无法直接按后退按钮回去(当然如果你飞快的连续点,或者从历史列表里面直接选后退几步,是可以回去的,但google不认可这种方式)。我没有想出什么好的办法来解决这个问题,因此来集思广益,希望大家提供好的思路或者解决方案。另外,我们需要支持多种浏览器(IE 5.5+/NS6+/Mozilla/FireFox),IE Only的方案是行不通的。欢迎大家讨论,分不够可以再加。
http://community.csdn.net/Expert/TopicView.asp?id=3399813简要地说,我们的系统由5台Web server组成一个farm,拥有6个不同的域名,在这些域名下共享相同的web application。由于我们需要使用cookie识别用户身份,而cookie又不能跨域传递,我们最终选择了使用一个中央域名作为默认cookie解析服务器,访问其他域名的时候,请求会被转向到默认服务器,去读取cookie,然后把用户ID附加到URL中作为query string重新转向到起始服务器,这样起始服务器就可以通过query string取得原先在cookie中的内容。
这个解决方案工作的很好,但是今天遇到一个需求,我们要在新的partner(google.com)投放我们的链接,但是google要求比较严格:从google点击链接进入我们的站点,用户必须能够在我们站点的第一页上点浏览器后退按钮退回到google。但是问题在于我们的系统会在从google进入后执行2次redirect,导致无法直接按后退按钮回去(当然如果你飞快的连续点,或者从历史列表里面直接选后退几步,是可以回去的,但google不认可这种方式)。我没有想出什么好的办法来解决这个问题,因此来集思广益,希望大家提供好的思路或者解决方案。另外,我们需要支持多种浏览器(IE 5.5+/NS6+/Mozilla/FireFox),IE Only的方案是行不通的。欢迎大家讨论,分不够可以再加。
解决方案 »
- vs2010运行后显示“正在为.....加载符号”,然后就是长时间等待
- 这段代码需要什么引用?
- 关于Session传值的问题
- "Object reference not set to an instance of an object." 关于treeview的问题
- CSS 中可以运算吗?? 比如 width:100%-10px;
- 达们问一上c# 里的 Session怎释放问题.
- 菜鸟问题:DataList(c#)绑定多表数据
- 控制强类型的DataSet中的数据不更新到数据库
- 小弟初涉.net,是因为要帮朋友作个程序。求教思路,主题
- asb.net控件
- 客户端点击Button,则在自己的机器上C盘产生一个.txt文件,怎么实现啊???
- 问一个写客户端Txt文件的问题,急切需要...
Server.Execute("要转向的地址")这样不论你转几次都不会有历史记录的,但也不知道与的的系统合不合用
http://blog.joycode.com/saucer/archive/2004/02/25/13789.aspx
http://art.showyou.net/View/3614.htm
你可以清了只留一个google.com的,不知道行不行,没试过,希望对你有用
http://www.zahui.com/html/4/38194.htm
后来我又看到有人建议用location.replace从一个
页面转到另一个页面。这种方法的原理是,用新页面的URL替换当前的历史纪录,这样浏览历史记录中就只有一个页面,后
退按钮永远不会变为可用。我想这可能正是许多人所寻求的方法,但这种方法仍旧不是任何情况下的最好方法。使用这种
方法的实例如下所示: <A HREF="PageName.htm" onclick="javascript:location.replace(this.href); event.returnValue=false; "> 禁止后退到本页面的链接</A> 试试下面这个链接: 禁止后退到本页面的链接! 这种方法的缺点在于:简单地运用Response.Redirect将不再有效,这是因为每次用户从一个页面转到另一个页面,
我们都必须用客户端代码清除location.history。另外还要注意,这种方法清除的是最后一个访问历史记录,而不是全部
的访问记录。
是的,一定要立即认证。出于商业原因我们不能使用Passport认证方式,我们有自己的cookie机制To viscoo(冠达):
谢谢你的代码,这个只能在客户端本地执行,不适用于Web应用程序
=============by the way, 思归现在在哪里?在国内还是在国外?我在New York city,如果你也在的话就好了,呵呵
window.location = "xxx";
而是使用
window.location.replace("xxx");
这样会产生不同的http请求,后者会保持history列表不发生变化,呵呵。就这么简单。结帖!