ASP.NET Forms身份验证中的用户模拟

6
场景:在电子商务系统中,帮助台用户应该能够从基于Web的管理站点中“冒充”或“登录为”特定客户,以便他可以直接支持客户 - 例如当客户在电话上时。

额外澄清:无需跟踪原始身份验证上下文。我们只需要提供一个“登录为”按钮,该按钮将作为客户登录,而不需要帮助台用户知道密码。

有什么想法可以使用常规ASP.NET表单身份验证来实现这种情况吗?

2个回答

3
也许我没有完全理解情境。但是为什么不让支持人员以用户身份登录呢?
FormsAuthentication.SetAuthCookie("yourCustomersUserName");

接下来就由电子商务系统来更新购物车等内容,以便客服人员能够提供帮助。


你可以直接从支持人员输入的文本框中获取用户名吗? - ullmark
当认证 cookie 改变时,会话是否自动切换? - JacobE
你不需要执行Session.Abandon()吗? - Dhanuka777

3

假设您已经有一个用户登录,您可以使用以下代码模拟另一个用户,我已经成功地将其工作起来了。

FormsAuthentication.SignOut();

FormsAuthentication.SetAuthCookie("username", true );

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接