单点登陆最简单解决方案

服务器 A :网站 A
服务器 B :网站 B
服务器 C :验证网站(验证表中有 UID KEY 两个字段)。
1.       用户打开网站 A 的页面 http:// 服务器 A/a.aspx ,检测发现网站 Session 中没有存储用户名 UID
2.       系统转到验证服务器登录页面,并在 QUERYSTRING 中附加前一个页面的 URL 地址。比如 http:// 服务器 C/login.asp?URL=http:// 服务器 A/a.aspx
3.       在验证服务器登录成功后更新验证服务器的 Session (超时设置为足够长,比如 1 天)。然后生成一个 GUID 值,写入验证表。最后,把这个 GUID 值和 UID 保存到一个类中序列化后附加在 URL 中返回网站 A 的那个页面。比如 http:// 服务器 A/a.aspx? token =sadhsagdkjasgyugd7d8yweihasdiuhagsdiuashdhaiushdi
4.       网站 A 的页面读取 QUERYSTRING ,然后反序列化出一个类,读取类的 UID KEY 信息。然后,从数据库中查找匹配的记录,如果找到了则表明登录成功,并把这条记录的 KEY 更新成另外一个 GUID (这样就保证了即使这个 URL 被别人拿走再登录都不能成功)。把 UID 写入服务器 A Session 中即可。
5.       用户打开网站 B 的页面 http:// 服务器 B/b.aspx ,服务器 B 上没有当前用户的 Session 信息,自动转向验证服务器检测是否存在 Session ,如果找到了表明用户已经登录过,再重复步骤 3 4 ,如果没有找到就转到验证服务器的登录页面。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值