在ASP.NET中模拟成员资格用户

Vai*_*arg 8 .net asp.net impersonation forms-authentication asp.net-membership

在一般asp.net的网站Membership,Roles与哈希密码启用,我想提供管理员impersonation,让他们可以浏览网站,作为会的用户.该网站应该像该用户登录一样运行,然后能够恢复到他们自己的登录.

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

示例用例:具有两种类型用户的网站:"买方"和"管理员".该网站提供"购买"按钮,以购买管理员专门提供给用户的内容.即只有该买家才能使用购买按钮并付款.用户遇到问题,因此支持管理员可以"冒充"用户登录并代表他们购买或"看到"他们面临的问题.

没有模仿,唯一的方法是在代码中允许这样做,否定"看到用户问题"的目的.即使我没有使用散列密码并且已经使用FormsAuthentication.SignOut()并手动登录管理员作为用户.

我希望我上面有道理.

Gre*_*low 6

请访问codeproject.com 查看此示例.我认为它可以满足您的需求.


Gre*_*mer 1

我面前没有用于执行此操作的代码(几年前的作业),但会员 API 中有一些位可以使用代码对某人进行签名。不幸的是,直到这个周末我才能访问代码,或者我可以快速分享这些内容并完成此操作。

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

无论如何,请检查安全位,重点关注membership 和membershipUser。