您好,欢迎光临本网站![请登录][注册会员]  
文件名称: ASP.NET Forms验证 实现子域名(SubDomain)共享登陆下的缺陷
  所属分类: Web开发
  开发工具:
  文件大小: 67kb
  下载次数: 0
  上传时间: 2012-08-28
  提 供 者: junj*****
 详细说明: ASP.NET Forms验证 实现子域名(SubDomain)共享登陆 http://www.cnblogs.com/Medi-Bruce/archive/2010/01/17/1650027.html 一、什么是单点登录    单点登录就是在多个web应用程序中,实现统一登录方式,一但登录了某web应用程序,其它相关联的web应用程 序都无需再次登录,一个地方退出,所有相关联的web应用程序都退出. 二、通过利用ASP.NET Forms验证模式 可以实现子域名(SubDomain)共享登陆下的缺陷 要利用Asp.NET Form验证模式实现 同一主域下不同子域名共享登陆状态需要进行以下配置 配置Web.config 1.把Asp.net的认证模式改为Forms认证模式,domain 要等于你的应用程序对应的域名,例如: .test.cn 2.配置针对存储在cookie中的票据信息进行加密解密的方式 备注:生成machineKey网址     http://www.aspnetresources.com/tools/keycreator.aspx 登陆创建验证票据 1.应用程序登陆页面(Login.aspx)输入用户名、密码并验证通过后,创建一张加密过的验证票据,并存储在cookie中 //创建验证票 FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, name, DateTime.Now, DateTime.Now.AddDays(1d), false, HttpContext.Current.Request.UserHostAddress ); string authTicket = FormsAuthentication.Encrypt(ticket); HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, authTicket); cookie.Domain = ConfigurationManager.AppSettings["SSODomain"]; HttpContext.Current.Response.Cookies.Add(cookie); 2.登陆完毕后进入有权限的页面,并可得到验证通过后的ID User.Identity.Name; if (!User.Identity.IsAuthenticated) { //未登录 Response.Redirect("/login.aspx"); } string name = User.Identity.Name; 3.登出页面,清空用户信息,并销毁票据 HttpContext.Current.Session.Clear(); FormsAuthentication.SignOut(); 三、Forms验证 实现子域名(SubDomain)共享登陆下的缺陷 根据以上讲解,均可实现同一主域名下的多个子域名共享登陆状态,但是主域名有所限制,当主域名为1个字母,而后缀为2个字母的域名,不能通过认证,例如:a.cn域名,a.jp域名 均不能实现子域名共享登陆,而其他域名均能实现,例如:a.test.com, a.sina.cn 等,大家亦可通过修改hosts文件试验一下,如有高手知道怎么解决这个问题的,请指教,谢谢!!并附上 Demo程序 ,请大家指教! PS:因本人公司的域名为p.cn,想通过Form认证的模式实现子域名共享登陆状态,但是死活用不上!~~!!汗,不知道这个算不算微软的Bug。 ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: 单点登录
 输入关键字,在本站1000多万海量源码库中尽情搜索: