web-dev-qa-db-ja.com

ASP.NET Core 2.1のID:AccountControllerのカスタマイズ

ASP.NET Core 2.1をインストールしましたが、ASP.NET Core Web ApplicationASP.NET Core 2.1Individual User Accountsを使用して新しいStore user accounts in-appを作成しましたが、AccountControllerまたはビューが見つかりません。

私はまだ問題なく登録してログインできますが、そのコードが見つかりません。2.0に存在していました。

enter image description here

70
Ogglas

2.1の改善 の1つはRazor Class Librariesであり、デフォルトのIDは個々の認証テンプレートの中の1つにあります。コードをカスタマイズしてカスタマイズできるようにする場合は、Visual Studioまたはグローバル足場ツールを使用してコードを足場にまとめることができます。両方を行う方法については このガイド を参照してください。

62
marcusturewicz

ASP.NET Core 2.1では、Razorクラスライブラリという新しい機能が導入されました。これを使用すると、再利用可能なライブラリの一部としてビューやページを構築できます。 ASP.NET Core IdentityはそのようなRCLに移動されました。あなたのプロジェクトでそれをオーバーライドすることができます:

  1. ソリューションエクスプローラ から、プロジェクトを右クリック> 追加 > 新しい足場の項目
  2. Add Scaffold ダイアログの左ペインから、 Identity > _ add _ を選択します。
  3. ADD Identity ダイアログで、上書きしたいファイルを選択してください。
    1. 必要に応じてレイアウトを選択
    2. データコンテキストクラス を選択または作成します。
  4. _ add _ を押します。

詳細については ドキュメントを参照 をご覧ください。

63
Xeevis

私の解決策は、.net core 2.0を使ってプロジェクトを作成し、それからフレームワークを2.1に、そしてすべての依存関係を最新バージョンに更新することです。

5
Wang

ASP.NET Core 2.1以降、 identity UIはライブラリとして出荷されています

しかし、ビューとコントローラを適切な場所に配置することでオーバーライドすることができます(例:View/Account/Login.cshtml)。

2
CodeTherapist

結局、ASP.NET Core IdentityMicrosoft.AspNetCore.Identity.UIと呼ばれるビルド済みパッケージとして利用可能になりました。

あなたはここでそれについてもっと読むことができます:

https://blogs.msdn.Microsoft.com/webdev/2018/03/02/aspnetcore-2-1-identity-ui/

1
Ogglas

私の知る限りでは、AccountControllerのコードはRazorのページ(およびその背後にあるコード)に移動されており、新しいネットからScaffold(つまり適切な場所にファイルを作成)できるコードをカスタマイズするためにデフォルトを使用して最適Visual Studio 2017でProjectを右クリックしてAdd => New Scaffolded Item => Identityを選択すると、Core 2.1プロジェクトが選択ダイアログを開きます。希望のページを選択してください。必要なページを変更し、Identity対応プロジェクト内の同じ場所にコピーするだけで、これらの新しいページが自動的にデフォルトを上書きします。これは、IDを使用して認証/承認をカスタマイズするための新しい方法です。

0