c# - 認証 - ASP.NET Core 2.1のID:AccountControllerのカスタマイズ




dotnet core 2 identity (4)

ASP.NET Core 2.1 をインストールしましたが、 ASP.NET Core 2.1 を使用して新しい ASP.NET Core Web Application を作成したにもかかわらず、 Individual User AccountsIndividual User Accounts Store user accounts in-app に保存] AccountControllerまたはViewsが見つかりません。

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


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

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

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


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


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








asp.net-core-2.1