方案A 可以做一些改进
1.A登录=>跳转到登录中心(登录中心将登录数据载入到一个缓存当中,设置缓存过期策略等),并给用户一个会话,保存用户信息
2.返回A,带上Token
3.A获取Token,向登录中心发出HttpWebRequest请求带上Token,进行验证
4.验证成功,A得到登录中心响应的用户数据,载入会话,登录成功5.B使用登录中心验证登录,跳转到登录中心,此时登录中心已有登录会话(即第一步时被标记为已登录)
6.同2-4步骤
1.A登录=>跳转到登录中心(登录中心将登录数据载入到一个缓存当中,设置缓存过期策略等),并给用户一个会话,保存用户信息
2.返回A,带上Token
3.A获取Token,向登录中心发出HttpWebRequest请求带上Token,进行验证
4.验证成功,A得到登录中心响应的用户数据,载入会话,登录成功5.B使用登录中心验证登录,跳转到登录中心,此时登录中心已有登录会话(即第一步时被标记为已登录)
6.同2-4步骤
解决方案 »
- 如何获取某页面指定信息
- 不用上传控件实现httpWebRequest 上传文件
- 初级问题,请大侠们指点迷津,,,,,,重在参与
- 往app_data目录加access数据库时报“处理本地数据文件时发生错误:未将对象引用设置到对象的实例”在vs2005
- 请帮忙指点下textbox中输入汉字接着在后面显示输入汉字的拼音
- ASP.NET中,改变上传的图片尺寸并达到抗锯齿的效果.
- OleDb.OleDbException: 参数不足,期待是 1。请教各位大虾拔刀相助
- 关于角色的管理
- 一个dataGrid的问题!
- 新人第1贴---清理ASP.NET上传文件夹中未使用附件的方法
- 局域网连不上服务器
- DataGrid如何设置单元格其中一部分字体的颜色,急
1:从A到B, 其跳转URL上也带有Token? 那是不是认为从A到B,其 URL及参数没有变化呢?
1.如果我来做我不会从A到B上也带Token,我会先跳转到B,然后B跳转到验证中心,或让用户选择使用登录中心验证
2.跳转到验证中心后,验证中心验证是否有登录会话保持着(上面的1步骤已经保存了会话)
3.如果有直接返回Token,给B
4.上次回复的 2到4步骤
画的一个简单的UML序列图,仅供参考
2.也就是说 A跳转到B不需要带上任何Token
3.每个子系统 都应该给出一个页面,用作跳转到登录中心,并带上自己的APPID
4.登录中心验证是否有会话,请记住,当第一次用户登录成功时保存会话,那么SessionId 已经保存在了浏览器Cookie当中作为一个Key.
5.那么当每个子系统再跳转到该登录中心时再去验证会话,如果有直接生产Token跳转到APPID对应的子系统
6.子系统在根据Token 去请求(HttpWebRequest)登录中心(登录中心有一个容器池用于保存每个Token,对应的已登录的用户信息)
7.子系统得到验证结果,以及用户信息,授权验证
1:如果是从一个顶级域名跳转到另一个顶级域名,登录中心怎么验证其会话?
你说的 俩个顶级域名是 2个子系统吧?场景:
A通过登录中心登录验证返回A
A跳转到B,B跳转到登录中心,登录中心验证会话.登录中心其实是共享了登录会话.