如何使用MVC4提供的新成员身份实现旧的asp.net成员资格方法

时间:2012-10-01 17:55:53

标签: asp.net-mvc-3 asp.net-membership membership-provider

我是asp.net(mvc)的新手,我正在尝试构建一个示例admin mvc4应用程序,我可以在其中获取具有新成员资格架构的用户列表。

我对新成员资格非常困惑,似乎如果我想使用开箱即用的SimpleMembershipProvider,我不能使用内置旧asp.net成员资格的方法,我必须实现我自己的所有方法,特别是如果我想使用EF(是吗?)

以下是我尝试使用新提供商实现的示例代码(与旧提供商合作)

控制器

public class MemberController : Controller
{
    public ActionResult Index()
    {
        var users = Membership.GetAllUsers();
        return View(users);
    }

}

视图

<ul>
    @foreach (var item in Model)
    {
        <li>@Html.DisplayFor(model => model[item.ToString()].UserName)</li>
    }
</ul>

如果有人能够以正确的方式(我是否必须创建自己的自定义成员资格提供程序?)为我提供步骤,指南或来源,我将非常高兴。我知道这是非常基本的东西,但它可以帮助我理解。谢谢

1 个答案:

答案 0 :(得分:1)

正如它所说,SimpleMembership是一种更简单的成员资格形式,因此它没有实现基本MembershipProvider类中的许多方法。 GetAllUsers是它没有实现的那个之一。

但是,只查询Users表并获取用户列表相对简单。而且效率更高。

这并不意味着您不能使用Membership类中的任何方法,但有些方法未实现。这是您为更简单的会员模式支付的价格。

您可以随时返回旧会员资格。只需禁用SimpleMembership初始化,SimpleMembership将传递给旧的SqlMembership提供程序。