当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net 1.1/ 2.0 中快速实现单点登陆

ASP.NET
ASP.NET开发:简化应用程序的开发支持Web标准
asp.net XMLHttpRequest实现用户注册前的验证
asp.net 页面间传值方法小结
asp.net url重写浅谈
asp.net 验证码生成和刷新及验证
C#精髓 GridView72大绝技 学习gridview的朋友必看
实例说明asp.net中的简单角色权限控制
asp.net网站开发包wq.dll打包下载
js与ASP.NET 中文乱码问题
asp.net checkbox 动态绑定id GridView删除提示
asp.net TextBox回车触发事件 图片在img显示
asp.net 脏字典过滤问题 用正则表达式来过滤脏数据
asp.NET 脏字过滤算法
asp.NET 脏字过滤算法 修改版
asp.net sql 数据库处理函数命令
asp.net Javascript 的几种写法与提示
ASP.NET MVC学习笔记
asp.net 中国身份证号码验证代码 非正则
Asp.net中使用Sqlite数据库的方法
asp.net 中文字符串提交乱码的解决方法

ASP.NET 中的 asp.net 1.1/ 2.0 中快速实现单点登陆


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 84 ::
收藏到网摘: n/a

问题:
  网站有bbs.xxx.com / main.xxx.com / pay.xxx.com 这三个不同的二级域名站,要实现任何一二级域名处登陆,其他各二级域名的站均登陆。
  解决办法:
  设置cookie的domain属性。
  详细介绍:
  把保存用户登陆信息的cookie的域设置成一样即可。usercookie.Domain=".xxx.com"; 要注意,在域名前必须要加一个"."。这个设置在登陆和退出的时候都需要。
  比较普遍的做法自然是用一个专门负责用户登陆的类来管理这些事务。这样其他登陆页面只要调用这个类就可以,一通百通。而如果你使用asp.net 2.0 和forms验证,则有更简单的办法来完成这个设置。
  web.config中添加了对域的支持,只要按照如下的设置即可:
<authentication mode="Forms">
<forms loginUrl="Login.aspx" domain=".xxx.com" name=".AutoLinkEduSitecookie"/>
</authentication>
  domain:可选的属性。
  指定在传出 Forms 身份验证 cookie 中设置的可选域。此设置的优先级高于 httpcookies 元素中使用的域。 此属性是 .NET Framework 2.0 版中的新属性。默认值为空字符串 ("")。
  注意
  无论是哪一种办法,cookie的name一定要相同。