web-dev-qa-db-ja.com

空のMVC 4プロジェクトテンプレートにASP.NETメンバーシッププロバイダーを追加する方法

私はASP.NET MVC4の新人です。空のMVC4プロジェクトテンプレートを作成し、それにASP.NETメンバーシッププロバイダーを追加しようとしていますが、どうすればよいのかわかりません。私はGoogleで検索していますが、すべてのデモはインターネットアプリケーションプロジェクトテンプレートを使用しています。

私はこの質問が良くないことを知っていますが、すでに2日間費やしています。

このためのアドバイスやチュートリアルを教えてください。

更新

Nesim Razonのアドバイスに従って、フォーム認証セクションをMVC4 Webアプリケーション(インターネットアプリケーションテンプレート)から空のプロジェクトにコピーして貼り付けます。しかし今、私は例外を受け取ります

このメソッドを呼び出すには、「Membership.Provider」プロパティが「ExtendedMembershipProvider」のインスタンスである必要があります。

[InitializeSimpleMembership]
public class HomeController : Controller
{

    public ActionResult Index()
    {
        WebSecurity.CreateUserAndAccount("Name", "Password"); // Exception is thrown from there.
        return View();
    }

}

Web.configファイルに次のディレクティブも追加されています。

<add key="enableSimpleMembership" value="true" /> 
23
Hasanuzzaman

それをインストールする

次のNugetパッケージを追加する必要があります。

への参照を追加

  • System.Transactions

それをテストする

それをテストするために、web.configファイルに以下を追加します(system.web):

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>

次の接続文字列を追加します

  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-UnitTestQueries.UI-20121105001038;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-UnitTestQueries.UI-20121105001038.mdf" providerName="System.Data.SqlClient" />
  </connectionStrings>

そして、私が行ったのは、インターネットテンプレートからコントローラー、モデル、フィルター、ビューをコピーし、名前空間などを変更して、稼働状態になるまで実行することでした。

これが結果です(スタイルなし)

ログイン前

enter image description here

登録

enter image description here

ログイン済み

enter image description here

31
Jupaol
2
Matija Grcic

ASP NET MVC 5 Webアプリケーションの単純なメンバーシップ

https://www.youtube.com/watch?v=BsKcVbsMn6w

いったん開発されたプロジェクトにユーザー認証を実装することは非常に困難です。このビデオでは、最初から認証を実装していないプロジェクトでMicrosoftシンプルメンバーシップ機能を効果的に利用する方法を示しました。これを利用して、プロジェクトのどの段階でも認証機能を実装できます。

0
nasa8x

MVC 4インターネットテンプレートに含まれているシンプルメンバーシップではなくユニバーサルプロバイダーを使用する場合は、モバイルテンプレートを使用して新しいMVC 4プロジェクトを作成し、アカウントコントローラー+ビューをコピーして、web.configも更新します。正しいconnectionStringとForms Authセクションを使用して、問題ありません。

0
Bhavesh Chauhan