将用户登录到不同的URL
本文关键字:URL 用户 登录 | 更新日期: 2023-09-27 17:54:36
所以我有一个管理面板的网站在不同的url比主要网站。我们目前对主站点上所有用户的密码进行了散列处理。客户想要的是一种从管理站点自动登录到主站点的方法。我有问题完成这一点,因为跨url会话设置是一个真正的痛苦。到目前为止,我已经尝试了一个web服务,并使用HttpWebRequest来访问一个会自动登录用户的网页。由于会话问题,这些都不起作用。
所以我想我的问题是,实现这一点的最好方法是什么?它也必须非常安全。我目前正在使用一个过期的哈希来安全登录。 更新我在考虑Open ID。虽然我不能使用它,因为我们已经定义了一个身份验证系统,但想法是一样的,我想在不修改身份验证逻辑的情况下开发类似的东西。
我正在做的是使用数据库来共享会话/用户id:
- 在web应用程序A,我有一个链接到web应用程序b
- 链接有一个唯一的web应用a的登录ID(例如会话ID)作为参数。
"工作流程"大致如下:
- 当用户点击链接时(或仅在
Page_Load
中),会话ID被存储到DB。 - 正在打开Web应用B,正在传递Web应用A的会话ID
- Web应用B在数据库中查找Web应用a的会话ID。
- 当被发现时,会进行一些安全检查(例如记录年龄)。
- 如果一切正常,用户登录web应用b。
表的结构是这样的:
+--------------------------------------------------------+
| ID | SessionID | UserID | DateWhenThisRecordWasCreated |
+--------------------------------------------------------+
有了这个配置,你可以在不同的相关应用程序之间传递登录,它们只需要访问相同的数据库。(如果不能共享数据库,可以考虑web应用A提供SOAP web服务,而web应用B可以查询)
我无法想象任何安全整体在这;另一方面,如果有人能想到一个,我将很高兴听到你的反馈。