来自另一个网站的 MVC 自动登录

MVC Autologin from another website

我有 2 个 MVC 网络应用程序,我们将其命名为 MVC_A 和 MVC_B。

我希望能够通过 MVC_B 上的 link 登录到 MVC_A。

我在 MVC_B 上有一个页面,上面有一些文字和一个 link 到 MVC_A。当用户单击此 link 时,他们应该会在浏览器的另一个选项卡中自动登录 MVC_A。

请记住,对于这两个应用程序,我有不同的用户表(使用散列密码)。

这可以吗?如果是这样,你能告诉我我必须走哪条路吗?

如果您共享同一个数据库,或者如果您可以从 MVC_B 访问 MVC_A 的数据库,我建议如下:

  1. 将所有链接从 MVC_A 更改为 MVC_B 页,从 http://MVC_B/etc... 更改为 /redir?url=....&sessionid=...
  2. redir页面中,在数据库中生成一个唯一的SessionID,分配给当前用户名。您应该使用类似于 [ID, UserName, SessionID (Guid maybe?), Used] 的 table。然后重定向到QS中生成的SessionID的MVC_B页面(例如:http://MVC_B/url?sessionid=....
  3. 在MVC_B中,当你在QS中有sessionid时,根据刚刚收到的SessionID从数据库中读取UserName,将SessionID标记为used(这样就不能再用了)并对其进行身份验证(如果您在数据库中有一个具有相同用户名的用户)。