跨站点之间共享登录、、、加急。。急。。急。。。。。。。。。

Y2010M11D25 2011-03-30 02:55:14
引用
三个站点,例如:
1. webtest.csdn.com(必须要在这里登录,才能访问下面的链接)
2. mistest.csdn.com
3. hrtest.csdn.com

怎么实现跨站点之间的共享登录,每个站点都是单独的系统。session和cookie貌似都不可以,
我只要传过去UserCode就可以,别的条件不需要,怎么最简单化的实现。
网上说的很复杂,看了看资料,很难看懂。
我想听听尝试过的人的想法,一定是可以成功的,最好是能有代码。


别给我发些链接,那些东西太复杂了。很难理解。
...全文
141 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
moudy 2011-03-31
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 y2010m11d25 的回复:]
引用 10 楼 moudy 的回复:
弄个简单的点,利用数据库。登陆后在数据库里记录下userCode,机器IP,登陆时间,换到其他系统是判断机器IP,根据IP取userCode,时间嘛可以用来判断过期等信息。


你这个写死了,那我自己的电脑就只能登陆自己的账号? 别人不能登陆?
这个不行。
[/Quote]

你可以取最新时间的userCode,如果同时登陆几个用户该方法不行。
Y2010M11D25 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 wxr0323 的回复:]
跨域COOKIE

CookieContainer.GetCookies

CookieContainer cookieContainer = new CookieContainer();
req.CookieContainer = cookieContainer;

参考
[/Quote]
链接过期了啊。
Y2010M11D25 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 moudy 的回复:]
弄个简单的点,利用数据库。登陆后在数据库里记录下userCode,机器IP,登陆时间,换到其他系统是判断机器IP,根据IP取userCode,时间嘛可以用来判断过期等信息。
[/Quote]

你这个写死了,那我自己的电脑就只能登陆自己的账号? 别人不能登陆?
这个不行。
Y2010M11D25 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 kjwxj 的回复:]
如果按你列举的例子
只需要设置一下cookies二级域名共享就可以了
[/Quote]

我个人比较倾向这个。
ycproc 2011-03-30
  • 打赏
  • 举报
回复
单点登录
http://apps.hi.baidu.com/share/detail/6519658

好吧 看完了对你有启发的
decher 2011-03-30
  • 打赏
  • 举报
回复
使用jsonp跨域
子夜__ 2011-03-30
  • 打赏
  • 举报
回复
跨域COOKIE

CookieContainer.GetCookies

CookieContainer cookieContainer = new CookieContainer();
req.CookieContainer = cookieContainer;

参考
kjwxj 2011-03-30
  • 打赏
  • 举报
回复
如果按你列举的例子
只需要设置一下cookies二级域名共享就可以了
moudy 2011-03-30
  • 打赏
  • 举报
回复
弄个简单的点,利用数据库。登陆后在数据库里记录下userCode,机器IP,登陆时间,换到其他系统是判断机器IP,根据IP取userCode,时间嘛可以用来判断过期等信息。
rebing 2011-03-30
  • 打赏
  • 举报
回复
你去了解下 xmlhttp对象可不可以做到~~ 做一些短信接口平台都是这样跨域传值的,
你这个我没做过 不了解 帮顶
  • 打赏
  • 举报
回复
1.使用cookie,cookie可以跨站点,你可是设定对应的domain
2.使用自定义基于数据库或分布式缓存的身份识别系统
Y2010M11D25 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 daiguoxin 的回复:]
我的一些想法,没有现成代码,但是以前用过的,绝对可行

首先,在用户信息表中,维护一个字段,用来表示用户是否已经登录
单独创建一个站,最好使用WCF服务,处理登录,
用户登录后,在WCF服务中存储下来,可以使用Cache存储登录用户的列表

用户,在一个站点登录时,调用WCF服务,并且存储Cache和更新数据库,还要生成一个令牌(唯一字符串)

登录到别的系统的时候,在字符串中传令……
[/Quote]


1.wcf我还不知道是什么。
2.cache存储登录我也不知道。
3.如果要传令牌过去,我现在一样可以传个userCode过去啊,这样就可以识别了,但是我怕别人修改userCode,那样就同样可以操作的。
daiguoxin 2011-03-30
  • 打赏
  • 举报
回复
我的一些想法,没有现成代码,但是以前用过的,绝对可行

首先,在用户信息表中,维护一个字段,用来表示用户是否已经登录
单独创建一个站,最好使用WCF服务,处理登录,
用户登录后,在WCF服务中存储下来,可以使用Cache存储登录用户的列表

用户,在一个站点登录时,调用WCF服务,并且存储Cache和更新数据库,还要生成一个令牌(唯一字符串)

登录到别的系统的时候,在字符串中传令牌过去,
其他系统接收到令牌,或其他方式,到WCF服务中查询登录用户Cache是否存在,存在则创建Cookie或session存储用户信息,不存在则登出或跳转到登录页面

要定时更新数据库中用户登录状态和更新Cache,这个你可以自己考虑灵活处理比较
======================
大概思路如此。
Y2010M11D25 2011-03-30
  • 打赏
  • 举报
回复
有帖子说用form表单能解决的,看了好半天就是没懂。我也是够笨的了,呵呵。
Y2010M11D25 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhuhong639 的回复:]
貌似是传说中的单点登录吧,我们公司现在也需要这种,我还是不太懂,帮顶,学习了。
[/Quote]

我不想写单点登录那么复杂,所以想求一个投机取巧的方法解决。
不算复杂,又能解决。
Y2010M11D25 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 swde125 的回复:]
个人觉得cookie应该可以

帮不了你

帮顶咯
[/Quote]
cookie貌似不能在不同域名之间传值。
tckoo 2011-03-30
  • 打赏
  • 举报
回复
貌似是传说中的单点登录吧,我们公司现在也需要这种,我还是不太懂,帮顶,学习了。
swde125 2011-03-30
  • 打赏
  • 举报
回复
个人觉得cookie应该可以

帮不了你

帮顶咯

62,047

社区成员

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

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

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

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