0

私はasp.net(mvc)を初めて使用し、新しいメンバーシップスキーマを持つユーザーのリストを取得できるサンプル管理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>

これを正しい方法で実装するための手順、ガイドライン、またはソースを誰かが提供してくれれば、非常に嬉しく思います (独自のカスタム メンバーシップ プロバイダーを作成する必要がありましたか?)。それが本当に基本的なことであることは知っていますが、理解するのに役立つかもしれません. ありがとうございました

4

1 に答える 1

1

SimpleMembership は、名前が示すように、Membership の単純な形式であるため、基本 MembershipProvider クラスのメソッドの多くを実装していません。GetAllUsers は、実装されていないものの 1 つです。

ただし、Users テーブルにクエリを実行してユーザーのリストを取得するのは比較的簡単です。そして、それはより効率的です。

これは、Membership クラスのどのメソッドも使用できないという意味ではありませんが、実装されていないメソッドもあります。これは、よりシンプルなメンバーシップ モデルに対して支払う価格です。

いつでも元のメンバーシップに戻ることができます。SimpleMembership の初期化を無効にするだけで、SimpleMembership は古い SqlMembership プロバイダーにパススルーされます。

于 2012-10-01T19:26:36.470 に答える