使用会话管理两个当前用户

时间:2011-07-07 12:27:11

标签: .net asp.net-mvc session

我要做的是允许管理员用户在“新窗口”中以其他用户的身份浏览网站。这很好用,一切都很好,花花公子直到管理员决定返回原来的窗口,相信管理员现在是“新窗口”的另一个用户。

我想我想做的是为“新窗口”创建一个新会话。那我该怎么做呢?

该功能的当前实现是管理页面上的一个按钮,该按钮跳转到AccountController中的Action,随后为管理员想要浏览的用户执行LogOn。我正在使用MVC2和.aspx。

任何回复都表示赞赏! =)

1 个答案:

答案 0 :(得分:0)

我认为没有一种解决方案可以满足您的需求。考虑到浏览器正在存储标识当前会话的cookie。它只会为网站存储一个cookie,这意味着如果您以其他用户身份登录,则您已经有效地覆盖了之前的会话。

我的建议是在AccountController中添加一个额外的功能,允许管理员以用户身份登录。这样做的责任是创建一个cookie值,该值有效地标识用户刚刚离开前一个会话。

这是一篇关于CodeProject的文章,它做了你想要做的事情,虽然在ASP.NET而不是MVC。我确信代码很容易适应。