【问题标题】:Impersonate a membership user in ASP.NET在 ASP.NET 中模拟成员身份用户
【发布时间】:2011-12-11 19:37:57
【问题描述】:

在启用了MembershipRoles 和散列密码的通用asp.net 网站中,我想为管理员提供impersonation,以便他们可以像那样浏览该网站用户会。该网站应该像该用户已登录一样运行,然后能够恢复到他们自己的登录。

实现这一目标的最佳方法是什么?

一个示例用例:一个有两种用户类型的网站:“买家”和“管理员”。 该网站提供了一个“购买”按钮来购买管理员专门提供给用户的东西。即只有该买家可以使用购买按钮并付款。 用户遇到问题,因此支持管理员可以“模拟”用户的登录并代表他们购买或“查看”他们面临的问题。

如果没有模拟,唯一的方法是在代码中允许这样做,这否定了“看到用户的问题”的目的。即使我没有使用散列密码并且使用了FormsAuthentication.SignOut() 并以用户身份手动登录管理员。

我希望我在上面说得通。

【问题讨论】:

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


    【解决方案1】:

    查看 codeproject.com 上的 this sample。我认为它可以满足您的需求。

    【讨论】:

      【解决方案2】:

      我面前没有我们用来执行此操作的代码(几年前的分配),但 Membership API 中有一些位可以使用代码签署某人。不幸的是,直到这个周末我才能访问代码,否则我可以快速分享这些位并完成此操作。

      我记得您必须首先使用 Membership 类获取用户,作为 MembershipUser。从这一点来看,我不确定您是否必须针对提供者进行验证或什么。我们确实使用了自定义提供者,但我忘记了它是否与此解决方案有关。

      不管怎样,检查安全位,重点关注会员和会员用户。

      【讨论】:

        猜你喜欢
        • 2017-10-30
        • 1970-01-01
        • 2020-08-03
        • 1970-01-01
        • 2013-09-06
        • 1970-01-01
        • 2011-10-01
        • 1970-01-01
        • 2015-09-13
        相关资源
        最近更新 更多