跨子域单点登录,为什么上传到服务器上就不行了?

问题描述

假设有两个站点:book.test.com和vod.test.com,设想在book.test.com网站上登录后,跳转到vod.test.com网站上时不需要再登录。在本机测试时,修改hosts文件内容如下:127.0.0.1book.test.com127.0.0.1vod.test.com具体操作如下:第一步、修改book网站中的web.config文件如下:<authenticationmode="Forms"><formsdefaultUrl="~/login.aspx"domain=".test.com"slidingExpiration="true"></forms></authentication><machineKeyvalidationKey="969CDD5D85E13827ADFF3E80771472F11B3D454930D39DA19399AB714F596CA98B2D10D47E911990E2491211550E42FE676859CD4925F4028076DD6262A62F80"decryptionKey="5300D71269AC1D709C42E1A96E636EED0ABFF655C05CAEB6C64BA9EAEF9A88C3"validation="SHA1"decryption="AES"/><authorization><denyusers="?"/></authorization><httpCookiesdomain=".test.com"/>

第二步、在book网站上添加login.aspx文件,在该文件上直接登录,代码如下:System.Web.Security.FormsAuthenticationTicketticket=newSystem.Web.Security.FormsAuthenticationTicket(1,"UserId",DateTime.Now,DateTime.Now.AddMinutes(30),false,"teacher");stringEncrTicket=System.Web.Security.FormsAuthentication.Encrypt(ticket);HttpCookiemyCookie=newHttpCookie(System.Web.Security.FormsAuthentication.FormsCookieName,EncrTicket);System.Web.HttpContext.Current.Response.Cookies.Add(myCookie);

第三步、修改vod网站上的web.config文件,如下:<authenticationmode="Forms"><formsdomain=".test.com"slidingExpiration="true"></forms></authentication><machineKeyvalidationKey="969CDD5D85E13827ADFF3E80771472F11B3D454930D39DA19399AB714F596CA98B2D10D47E911990E2491211550E42FE676859CD4925F4028076DD6262A62F80"decryptionKey="5300D71269AC1D709C42E1A96E636EED0ABFF655C05CAEB6C64BA9EAEF9A88C3"validation="SHA1"decryption="AES"/><authorization><allowusers="?"/></authorization><httpCookiesdomain=".test.com"/>

第四步、在vod网站上创建Default.aspx,在代码中判断是否登录,以及输出cookies信息,代码如下:Label1.Text="用户是否已经进行了身份验证:"+HttpContext.Current.User.Identity.IsAuthenticated.ToString()+"<br/>";Label1.Text+="一共有"+Request.Cookies.Count.ToString()+"个cookies<br/>";for(inti=0;i<Request.Cookies.Count;i++){Label1.Text+="Name:"+Request.Cookies[i].Name+"<br/>";Label1.Text+="Value:"+Request.Cookies[i].Value+"<br/><br/>";}

经测试,在本机上运行无误。从book.test.com跳转到vod.test.com网站后,可以看到用户身份已验证。也能输出cookies的内空。但是,上传到服务器上(book和vod分别为两台不同电脑)之后,从book跳到vod后,页面输出为:用户是否已经进行了身份验证:False一共有0个cookies在chrome浏览器中,按f12可以查看到.test.com域中的cookies,但在vod的网页中获取不到身份验证的cookies。请问这是怎么回事?

解决方案

解决方案二:
该回复于2014-12-06 19:46:01被版主删除

时间: 2024-11-06 16:20:11

跨子域单点登录,为什么上传到服务器上就不行了?的相关文章

护卫神异地备份系统怎么将数据上传到服务器上?

护卫神异地备份系统可以对各类数据实时或定时上传到原创FTP服务器备份,也可以定时从远程FTP服务器下载到本地进行备份.那么这个软件是如何将数据上传到服务器上呢?又是怎么从服务器上下载文件到本地呢?具体方法如下: 护卫神异地备份系统怎么将数据上传到服务器上? 一.上传任务列表 说明: 1.如上图,可以新增.修改.删除 上传任务,功能十分齐全; 2.其中,[立即备份到远程服务器],点击之后,将会将本地文件全部上传到服务器,如果服务器存在相同的,则不会覆盖,减少传输量. 3.[清理队列],表示清理正在

小技巧:图片在上传之前先预览,无需先上传到服务器上

我在网上看到好多人问如何使用FileUpload上传之前,先预览图片,前提条件,不允许先上传到服务 器上!因为大多搜索的结果实现的方法都是先上传到服务器上,然后显示,如果不确定上传,就删除,这 样的风险太大,性能也消耗很大!下面的代码告诉大家我们不需要先把图片上传到服务器上就可以预览了 ,是不是很酷!不说了,上代码! <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0

空间-怎样把自己做好的网站上传到服务器上

问题描述 怎样把自己做好的网站上传到服务器上 域名 空间什么的 求大神告知 想做一个论坛 不知道怎么申请域名空间 求完整的流程 谢谢谢谢 解决方案 很简单,在网上找一个域名代理商,联系域名空间事宜.论坛有很多现成的(比如PHP的),改一下模板就可以直接用了不需要开发.域名空间OK之后,把你的发布的文件直接通过ftp等方式上传到Web服务器即可. 解决方案二: 去西部数码或者其他的服务器运营商的网站上租个虚拟主机,他们就会告诉你ip地址,然后用ftp工具吧你的网站程序上传上去,你可以让运营商的 客

手机app-php如何实现将用户设置的头像上传到服务器上的指定位置中保存

问题描述 php如何实现将用户设置的头像上传到服务器上的指定位置中保存 如题,用户在手机客户端设置的,客户端该怎样传,php又该怎样接收,然后存到服务器中的某个位置,并把该位置的url存入数据库中 解决方案 用户上传头像时,使用move_uploaded_file将头像保存到你自己指定的位置就好.之后,把你指定的路径+图片名存到数据库的指定字段中就好.可以看看php的文件上传

camera-截取的图片上传到服务器上的时候会旋转90度

问题描述 截取的图片上传到服务器上的时候会旋转90度 我做了一个安卓应用程序.在我的应用中,我要截取一个图片并把它发送到服务器上.在某种设备里,截取的图片上传到服务器上的时候会旋转90度.代码如下: Uri selectedImage = data.getData(); File imageFile = new File(selectedImage.toString()); ExifInterface exif; try { exif = new ExifInterface(imageFile.

安装失败-方维P2P信贷系统2.7在本地可以安装上但是上传到服务器上安装不上

问题描述 方维P2P信贷系统2.7在本地可以安装上但是上传到服务器上安装不上 方维P2P信贷系统2.7在本地可以安装上但是上传到服务器上安装不上,在填写完数据库信息之后,点击开始安装,然后,就没有然后了,一直停滞在那里.声明一下,数据库安装上了,但是数据表安装不上,即不能运行sql文件,求助各位大侠,看看是什么问题.

asp.net-ASP.NET中用UPLOADfile控件上传,服务器上传不上APK

问题描述 ASP.NET中用UPLOADfile控件上传,服务器上传不上APK 用uploadfile控件做了个简单的上传,本地测试可以上传图片和APK,但是传到服务器 上就上传不了APK, 等了好久都不行的..可以上传图片的..请问是怎么问题? 没有报错,点上传按钮了等到网页刷新超时... 服务器IIS已经加入了MIME了.. 上传目录也设置了EVERYONE权限了...http://jcb.wd900.com/test.aspx 上面是测试路径 ..大家知道是怎么回事吗? 解决方案 asp.

easyui-easyUI如何能够显示出上传到服务器上的excel文件里面的数据

问题描述 easyUI如何能够显示出上传到服务器上的excel文件里面的数据 easyUI页面上只要显示出上传到服务器上面的excel文件里面的数据就好了,不需要有任何数据库的联系操作,仅仅要页面显示出来 解决方案 你用的什么服务器的编程语言,比如java,你可以用poi(.net用npoi)可以读取excel,然后返回数据,客户端显示就可以了.

关于插入数据时候报错提示-在建立与服务器的连接时出错。在连接到 SQL Server 2005 时--本地成功.上传到服务器上运行错误

问题描述 用户可以登陆.说明链接成功;但不能插入数据.插入数据就提示下面错误---本地成功.上传到服务器上运行错误SqlConnectioncon=Class1.DBconnection();行59:con.Open();------------------------------------------(这里提示错误)行60:SqlCommandcom=newSqlCommand(sql,con);行61:returncom.ExecuteScalar().ToString();在建立与服务器