使用表单身份验证,是否可以在代码中切换登录用户,仅用于当前请求?

时间:2012-09-21 23:49:52

标签: asp.net-membership forms-authentication membership

在某种情况下,我希望请求以不同于实际登录的用户身份执行。因此,当用户A请求特定页面时,从代码我想切换它在用户B的用户帐户下执行 - 仅针对此单个请求(或者甚至是单个代码块...)

我用过这个:

FormsAuthentication.SetAuthCookie("UserB")

这有效,但它是持久的。当我申请新页面时,我现在以用户B身份登录,这不是我想要的。

这可能吗?我为此进行了RTFM上下调整。

修改:我可能找到了答案,我在下面发帖。寻求确认或驳斥此解决方案。

1 个答案:

答案 0 :(得分:0)

我想我可能已经找到了它。我不是百分百肯定,但这很有效。我只是不知道它是否完全正确或是否有我不考虑的事情。

HttpContext.Current.User = PrincipalInfo.CreatePrincipal("UserB");

再次,这似乎做了我原来想要的。如果您有经验证明我是对或错,请发表评论。