ASP.NET Forms验证 实现子域名(SubDomain)共享登陆下的缺陷
一、什么是单点登录
单点登录就是在多个web应用程序中,实现统一登录方式,一但登录了某web应用程序,其它相关联的web应用程
序都无需再次登录,一个地方退出,所有相关联的web应用程序都退出.
二、通过利用ASP.NET Forms验证模式 可以实现子域名(SubDomain)共享登陆下的缺陷
要利用Asp.NET Form验证模式实现 同一主域下不同子域名共享登陆状态需要进行以下配置
配置Web.config
1.把Asp.net的认证模式改为Forms认证模式,domain 要等于你的应用程序对应的域名,例如: .test.cn
<authentication mode="Forms">
<forms name=".ASPNETFORM" domain=".test.cn" loginUrl="/login.aspx" defaultUrl="/default.aspx"
protection="All" timeout="30" path="/" requireSSL="false" slidingExpiration="true"
enableCrossAppRedirects="false" cookieless="UseDeviceProfile" />
</authentication>
2.配置针对存储在cookie中的票据信息进行加密解密的方式
<machineKey
validationKey="CF10047DB84FBA7F418BF30F9697B1D6EDDA3A90837F3C57B336B4016E47986135B31B2432F7CB20A6858DFFB
E4E5ECD1451E17C91830993445D0EA5708BABBD" decryptionKey="5D37DDB652B86956" validation="SHA1"/>
备注:生成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。
posted @ 2010-01-17 16:27 哈密瓜牌牛奶 阅读(1654) 评论(4)
编辑
敏捷软件开发一之简要介绍
原则、模式与实践是重要的,但是这三个要素都要由人来使得它们协同工作。正如Alistair Cockburn所说:"一个成功的项目,过程与技术永远都是排第二位的,而人员则是排在最重要的位置"
我们不能像管理组成机器的零件一样来管理我们这一Team的开发人员。这里稍为改变一下Alistair Cockburn的金句,"人并不是可替代的编程单元"。如果想我们的项目走向成功,我们将不得不齐心协力有组织地建设我们的开发团队。
建设这样团队的公司比那些认为一个软件开发组织只不过是一大群相似的人的公司更具竞争优势。一个凝聚的软件开发团队拥有最强有力的软件开发实力。
posted @ 2007-10-07 21:23 哈密瓜牌牛奶 阅读(199) 评论(1)
编辑
《Programming Asp.net》
《Beginning C# Objects From Concepts to Code》
《Code Complete》
《Enterprise Service with the .net framework》
全部中文版
花了我246元
虽然心痛辛辛苦苦攒来的钱,但是抱着这些书的感觉很舒服很开心:)好多东西要学习啦,Fighting~~!!
posted @ 2007-02-11 18:47 哈密瓜牌牛奶 阅读(352) 评论(13)
编辑
《现代专业Javasctript 技术》一书中英文目录,翻译记录下来方便学习用
————————————————————————————————
目录
Contents at a Glance
关于作者
bout the Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
关于技术审校
bout the Technical Reviewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
感谢
acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
■■■
第一部分 现代JavaScript简介
PART 1 Introducing Modern JavaScript
第一章 现代JavaScript开发
CHAPTER 1 Modern JavaScript Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
■■■
第二部分 专业JavaSctipt开发
PART 2 Professional JavaScript Development
第二章 面向对象的JavaSctipt
CHAPTER 2 Object-Oriented JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
第三章 代码重用
CHAPTER 3 Creating Reusable Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
第四章 调试与测试工具
CHAPTER 4 Tools for Debugging and Testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
■■■
第三部分 内敛的JavaScript
PART 3 Unobtrusive JavaScript
第五章 文档对象模型
CHAPTER 5 The Document Object Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
第六章 事件
CHAPTER 6 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
第七章 JavaSctipt 与CSS
CHAPTER 7 JavaScript and CSS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
第八章 改善的窗体
CHAPTER 8 Improving Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
第九章 创建一个图库
CHAPTER 9 Building an Image Gallery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
■■■
第四部分 AJAX
PART 4 Ajax
第十章 Ajax简介
CHAPTER 10 Introduction to Ajax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
第十一章 利用Ajax增强博客页面表现
CHAPTER 11 Enhancing Blogs with Ajax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
第十二章 具自动提示功能的搜索
CHAPTER 12 Autocomplete Search. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
第十三章 一个Ajax Wiki
CHAPTER 13 An Ajax Wiki. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
■■■
第五部分 JavaScript的未来
PART 5 The Future of JavaScript
第十四章 JavaScript将来走向何方
CHAPTER 14 Where Is JavaScript Going?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
posted @ 2007-02-10 15:56 哈密瓜牌牛奶 阅读(462) 评论(2)
编辑
近日,看到了或者听到了同学精彩的生活,开阔的眼界,他们往来穿梭于世界各地,他们驰骋于国内文化古都,心里突然来了点妒忌的感觉。为什么我的生活如此孤独,跟在读书时代一样在两点一线间来回奔波。我是不是是时候申视一下自己,给自己一个时间从另外的角度看人生,看世界?我想应该是时候了。或许是围城在作怪,或许是身在福中不知福,但是还是给自己一个机会一个理由让自己愉快的生活着吧!
尽管工作是如何的繁忙,学习是如此的重要,但是人不会永远青春不再,所以理应要尝试享受年轻享受生活。不管软件领域是如何的有挑战性,如何层出不穷的框架技术,都不应该把生活的全部交给了计算机、工作、学习。是时候解放一下自己了,不管自己是如何的寒酸。因此尝试着去做些自己喜欢的事,尝试着去实践它。
不断拼搏的生活在继续,我也一直在努力着往技术的深度前进,这已足够。在愉快的周末,不妨约上三两知己周围转转。
posted @ 2007-01-30 13:28 哈密瓜牌牛奶 阅读(238) 评论(2)
编辑
摘要: 不知道发在首页是否适合,如果觉得不适合,我就撤下来。很久没来写博客了,不知不觉半年已经过去了,我已经从应届毕业生中慢慢的适应了这个竞争的社会,目前工作于广州一电子贸易公司。总结过去,遥望未来,还需努力与奋斗。 这半年以来一直受Cnblogs的恩惠,在这里学到很多东西,包括技术上的、精神上的。在此给园子里默默贡献的人表示深深尊敬,包括我熟悉的:Dudu、Dflying、BruceZhang、Terr...
阅读全文
posted @ 2007-01-27 01:14 哈密瓜牌牛奶 阅读(3373) 评论(25)
编辑