ASP.NET模拟-如何确定当前用户是否正在模拟某人?

ASP.NET模拟-如何确定当前用户是否正在模拟某人?,asp.net,impersonation,Asp.net,Impersonation,我正在使用 FormsAuthentication.SetAuthCookie(“用户名”,true) 这样,帮助台人员就可以模拟另一个人的ans,并查看该帐户的外观。我想知道是否有一种方法可以让我的代码确定这个会话是通过模拟运行的(这样我就可以阻止几个页面并闪现一个标志,上面写着“你正在模拟这个用户:用户名”)?这里最好的做法是确保帮助台用户在进入允许他们模拟其他用户的页面之前必须以自己的身份登录 此时,保存会话变量或将第二个cookie发送到浏览器,以确定它们的真实身份以及您需要了解的任何其

我正在使用

FormsAuthentication.SetAuthCookie(“用户名”,true)


这样,帮助台人员就可以模拟另一个人的ans,并查看该帐户的外观。我想知道是否有一种方法可以让我的代码确定这个会话是通过模拟运行的(这样我就可以阻止几个页面并闪现一个标志,上面写着“你正在模拟这个用户:用户名”)

这里最好的做法是确保帮助台用户在进入允许他们模拟其他用户的页面之前必须以自己的身份登录

此时,保存会话变量或将第二个cookie发送到浏览器,以确定它们的真实身份以及您需要了解的任何其他信息。我更喜欢将此存储在会话变量中,因为这样更安全,并且您可以控制服务器上的信息


您的代码的其余部分的工作方式与它现在的工作方式大致相同,响应时就好像用户确实是他们模拟的对象一样,但是任何需要测试模拟的代码都可以读取会话或alt cookie,以了解他们是否在模拟。

检查此问题,看看是否有帮助