当在会话中找到用户信息时,Mvc4将用户设置为已登录

时间:2013-11-29 17:50:30

标签: asp.net-mvc asp.net-mvc-4

我正在开发一个新的mvc4站点,并且正在使用mvc4表单身份验证。

该网站的用户希望能够登录公司主站点并单击链接并转到我正在开发的这个新站点。旧站点将登录用户存储在会话变量中。我可以检查会话变量是否存在并将用户登录到我的表单身份验证中吗?还是他们需要再次登录?

1 个答案:

答案 0 :(得分:1)

在system.web中的web.config中创建相同的machineKey部分,如下所示:

<system.web>
<machineKey validationKey="SAME_KEY_GOES_HERE" ... />
...

你可以generate machineKey here

然后,您的目标是将所有身份验证Cookie从一个网站传递到另一个网站。我认为您可以将它们存储在数据库中,并为经过身份验证的用户提供指向新网站的唯一链接。新网站可以从数据库中读取密钥,并设置从现有网站获取的cookie值。之后,用户将在您的新网站上进行身份验证。

更新

这样做可能会更简单,更安全。不要将cookie数据保存在数据库中,只需在第一个网站上创建一个带有帖子操作的表单。此表单必须包含隐藏值中的所有身份验证Cookie。表单的操作必须指向您的第二个网站。在第二个网站上,您只需将提交的表单值放入cookie即可。而已!更容易! (是的,你需要相同的机器钥匙)