请教关于Cookie,Session以及孟子E章的单点登陆的问题,望孟子E章及广大高手能指点一二

眼里进了砂 2006-11-02 11:42:23
网站基于.NET2.0 Membership做得,因此肯定是Form的表单验证了,登陆的信息肯定也是以cookie的形式存放在客户端的。问题如下:

1. 现在想实现用户浏览器只要不关闭,就一直保持在线状态,并且知道浏览器关闭才会离线,我只知道现在是靠cookie的有效期来存储用户在线状态的,要一直保存状态就把cookie的有效期设成最大,但不知道如何才能当浏览器关闭,也就是session断掉的时候才会有离线的状态。

2. 现在需要实现同一个用户名登陆后,不能出现相同用户名在其他地方登陆的情况,我看了孟子E章前辈关于单点登陆的帖子以及代码,去他的测试网站试了一下,效果不错,但代码我弄到本地就有一些的问题,原理是把cache的过期时间设为Session的过期时间,但在我本地,如果一次登陆之后,手动关闭ie,并且再开个新的ie打开页面登陆,直接会告诉你有人已经登陆(cache中有用户的存储信息),这个肯定不是我们所需要的,cache的过期时间等于Session的过期时间,但如果session直接断了呢?但孟子E章前辈的测试网站却好像没有这个问题,代码如果都是一样的话为什么会有这种情况呢?

Ps. 关于.NET2.0内置单点登陆的帖子我也看过了,说是domain属性设置为相同即可,但我把domain属性加到webconfig里后反而连登陆都登陆不了了,不知道是为什么

不知道问题描述的是否明白,麻烦有过相关开发经验的高手指教一二,过路的也麻烦帮顶下,无奈偶现在这些知识还是没有研究透彻,恳求各位帮忙帮忙了~ 多谢多谢
...全文
475 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhhui2008 2006-11-03
  • 打赏
  • 举报
回复
UP

请教一个问题:就是用ASP登录后,怎样在ASP。NET中调用ASP中的SESSION?ASP和ASP。NET能不能共用SESSION??
谢谢!
cat_hsfz 2006-11-03
  • 打赏
  • 举报
回复
用SSO搜索一下本论坛吧,其实已经有很多资料,这是很多人都已经做过的东西,你可以借鉴别人的成果,没必要完全从头研究。
woodliwei 2006-11-03
  • 打赏
  • 举报
回复
4. 突然关闭浏览器回话这个确实是个问题,一直不知道该如何解决
////////////////////
使用Javascript 利用ajax技术通知服务器用户已经关闭浏览器
孟子E章 2006-11-02
  • 打赏
  • 举报
回复
1,所谓的 Single Sign On(单一登录)是基于Cookie的,不是Session,因此不存在 Session问题
2,我的例子的单点登录是指一个账户只同时一处登录,即限制2个账户同时登录的概念。不是通常意义上的SSO,这个你老明白
3,基于Cookie的做法有Domain问题,因此单一登录SSO不是那么简单的
4,.NET内置的应该只限制在同一主域有效
4,使用基于Session 的验证,会有突然关闭浏览器会话没有超时的问题的,这个没有办法避免,必须结合其它方法联合使用
boat2002w 2006-11-02
  • 打赏
  • 举报
回复
期待解决问题后把方案提供给兄弟们
job_2006 2006-11-02
  • 打赏
  • 举报
回复
友情UP
股神 2006-11-02
  • 打赏
  • 举报
回复
up
孟子E章 2006-11-02
  • 打赏
  • 举报
回复
1,因为客户端和服务器端之间的连接在一个请求之后是断开的,因此,没有办法保持100%无延时的同步,这是b/s结构德特性决定的。在线不在线是给别人看到,自己看到的应该始终在线,因此,你需要定时向服务器发送消息,表明你没有关闭浏览器,服务器应当在这个时间间隔内,检查一下用户的最后发送消息的时间,如果超过一定时间则认为不在线。
2,可以结合数据库,cookie、IP 判断等,在登录的时候判断和写cookie,如果cookie存在且不是相同的值,这认为不是一个地点
3,msdn上有介绍
4,不使用Session没有这个问题
眼里进了砂 2006-11-02
  • 打赏
  • 举报
回复
To net_lover(【孟子E章】)

首先多谢你的解答

1. SSO是基于cookie的,但如果我现在有这样的需求,就是要浏览器不关闭就一直保持在线,直到浏览器关闭才会离线,这个应该如何实现呢?

2. 这点我可能还不是特别的明白,现在就是需要同一帐号只能在一处登陆,其他处登陆在线的帐号就会有相应的提示,不知道该如何来实现,网上相关的讨论也比较多,有没有相对标准一点的做法呢?

3. 嗯,这个我尝试了下增加domain,但直接会导致无法登陆,看来还是有一些其他的东西

4. 突然关闭浏览器回话这个确实是个问题,一直不知道该如何解决
hanchi8008 2006-11-02
  • 打赏
  • 举报
回复
guo lu

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧