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


90

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

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

ここに画像の説明を入力してください


あなたが答えることに興味があるなら、私はここで質問をしました:stackoverflow.com/questions/51728881/…。.NET Core 2.1 Identity Server4アプリでのログアウトに苦労しています。+1。
w0051977 2018

回答:


74

2.1での変更の1つは、Razorクラスライブラリであり、デフォルトのIDは、個々の認証テンプレートのこれらの1つに存在します。カスタマイズできるようにアプリにコードを含めたい場合は、VisualStudioまたはグローバルスキャフォールダーツールを使用してコードをスキャフォールディングできます。両方を行う方法については、このガイドを参照してください。


20
コントローラではなくcshtmlファイルを生成することができました。ガイドはそれについて言及していませんでした、accountControllerを生成する方法はありますか?
user10859 0718年

6
ああ、私の悪い..サブファイルのそのようなデザイナー
user10859 0718年

15
なぜこれが改善されたのですか?それは物事を不必要に複雑にします。

93

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

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

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


1
あなたは..「新しい足場アイテム」を取得するためのプロジェクトではないソリューションを右クリックし、この上のヘッドアップしてくれてありがとうを必要とする
leen3o

1
これでも、アカウントコントローラーフィールドは表示されません。カスタマイズされたフィールドを追加した場合、registerメソッドでそれらが必要であることをどのように伝えることができますか。
rogue39nin

かみそりのページの代わりにコントローラーを上書きしたい場合はどうすればよいですか?私はSPAを使用しているので、コントローラーをオーバーライドできるかどうかわかりません
Robert Tirta

7

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




2

私の知る限り、AccountControllerコードはRazorページ(およびそのコードビハインド)に移動され、デフォルトを使用して最適に機能するため、新しいネットから足場できる(つまり、適切な場所にファイルを作成する)ことができます。 Visual Studio 2017でプロジェクトを右クリックし、[追加] => [新しいスキャフォールドアイテム] => [ID]を選択して、選択ダイアログを開くことにより、Core2.1プロジェクト。希望のページを選択すると、そこに行きます。必要なページを変更して、Identity対応プロジェクトの同じ場所にコピーするだけです。これらの新しいページは、デフォルトを自動的に上書きします。これは、Identityを使用して認証/承認をカスタマイズする新しい方法であり、多くの人がこの重要な進歩を考慮しているかどうかはわかりません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.