来自另一个网站的 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 的数据库,我建议如下:
- 将所有链接从 MVC_A 更改为 MVC_B 页,从 http://MVC_B/etc... 更改为 /redir?url=....&sessionid=...
- 在
redir
页面中,在数据库中生成一个唯一的SessionID,分配给当前用户名。您应该使用类似于 [ID, UserName, SessionID (Guid maybe?), Used] 的 table。然后重定向到QS中生成的SessionID的MVC_B页面(例如:http://MVC_B/url?sessionid=....
- 在MVC_B中,当你在QS中有sessionid时,根据刚刚收到的SessionID从数据库中读取UserName,将SessionID标记为
used
(这样就不能再用了)并对其进行身份验证(如果您在数据库中有一个具有相同用户名的用户)。
我有 2 个 MVC 网络应用程序,我们将其命名为 MVC_A 和 MVC_B。
我希望能够通过 MVC_B 上的 link 登录到 MVC_A。
我在 MVC_B 上有一个页面,上面有一些文字和一个 link 到 MVC_A。当用户单击此 link 时,他们应该会在浏览器的另一个选项卡中自动登录 MVC_A。
请记住,对于这两个应用程序,我有不同的用户表(使用散列密码)。
这可以吗?如果是这样,你能告诉我我必须走哪条路吗?
如果您共享同一个数据库,或者如果您可以从 MVC_B 访问 MVC_A 的数据库,我建议如下:
- 将所有链接从 MVC_A 更改为 MVC_B 页,从 http://MVC_B/etc... 更改为 /redir?url=....&sessionid=...
- 在
redir
页面中,在数据库中生成一个唯一的SessionID,分配给当前用户名。您应该使用类似于 [ID, UserName, SessionID (Guid maybe?), Used] 的 table。然后重定向到QS中生成的SessionID的MVC_B页面(例如:http://MVC_B/url?sessionid=.... - 在MVC_B中,当你在QS中有sessionid时,根据刚刚收到的SessionID从数据库中读取UserName,将SessionID标记为
used
(这样就不能再用了)并对其进行身份验证(如果您在数据库中有一个具有相同用户名的用户)。