Identitas di ASP.Net Core 2.1: Sesuaikan AccountController

90

Saya telah menginstal ASP.NET Core 2.1tetapi meskipun saya telah membuat ASP.NET Core Web Applicationpenggunaan baru ASP.NET Core 2.1dengan Individual User AccountsStore user accounts in-appSaya tidak dapat menemukan AccountController atau Views.

Saya masih dapat mendaftar dan masuk tanpa masalah tetapi saya tidak dapat menemukan kode untuk itu, itu ada di 2.0.

masukkan deskripsi gambar di sini

Ogglas
sumber
Saya telah mengajukan pertanyaan di sini jika Anda tertarik untuk menjawab: stackoverflow.com/questions/51728881/… . Saya berjuang dengan logout di aplikasi .NET Core 2.1 Identity Server 4. +1.
w0051977

Jawaban:

74

Salah satu perubahan di 2.1 adalah Razor Class Libraries dan identitas default berada di salah satu dari ini di template autentikasi individu. Jika Anda ingin memiliki kode di aplikasi Anda sehingga Anda dapat menyesuaikannya, Anda dapat melakukan scaffold dengan Visual Studio, atau dengan alat scaffolder global. Lihat panduan ini tentang cara melakukan keduanya.

marcusturewicz
sumber
20
Saya bisa menghasilkan file cshtml bukan pengontrol. Panduan tidak menyebutkannya, ada ide bagaimana membuat accountController?
pengguna1085907
6
Ah saya buruk .. seperti desainer di subfile
user1085907
15
mengapa hal ini menjadi perbaikan ? Itu membuat hal-hal yang tidak perlu berbelit-belit.
liang
93

ASP.NET Core 2.1 memperkenalkan fitur baru yang disebut pustaka kelas Razor yang memungkinkan Anda membangun tampilan dan halaman sebagai bagian dari pustaka yang dapat digunakan kembali. Identitas Inti ASP.NET dipindahkan ke RCL tersebut. Anda dapat menggantinya dalam proyek Anda:

  1. Dari Solution Explorer , klik kanan pada proyek> Add > New Scaffolded Item .
  2. Dari panel kiri dialog Add Scaffold , pilih Identity > ADD .
  3. Dalam dialog TAMBAHKAN Identitas , pilih file yang ingin Anda timpa.
    1. Pilih tata letak jika perlu
    2. Pilih atau buat kelas konteks Data .
  4. Tekan ADD .

Untuk informasi lebih lanjut kunjungi dokumentasi .

Xeevis
sumber
1
Anda perlu mengklik kanan pada proyek, bukan solusi untuk mendapatkan 'Item Scaffolded Baru' .. Terima kasih atas
pemberitahuannya
1
Ini masih tidak membawa di bidang Pengontrol Akun mengatakan saya telah menambahkan bidang yang disesuaikan bagaimana cara saya mengatakan bahwa saya membutuhkannya dalam metode pendaftaran.
rogue39nin
Hai, bagaimana jika saya ingin menimpa pengontrol alih-alih halaman pisau cukur? Saya menggunakan SPA jadi saya tidak yakin apakah saya dapat menimpa pengontrol
Robert Tirta
7

Solusi saya adalah membuat proyek dengan .net core 2.0, dan kemudian memperbarui kerangka kerja ke 2.1 dan semua ketergantungan ke versi terbaru

Wang
sumber
2

Sejauh yang saya ketahui, kode AccountController telah dipindahkan ke halaman Razor (dan kode mereka di belakang) dan bekerja paling baik menggunakan default sehingga untuk menyesuaikan kode Anda dapat Scaffold (yaitu membuat file di tempat yang tepat) dari Net baru Proyek inti 2.1 dengan mengklik kanan Proyek dalam Visual Studio 2017 dan memilih Add => New Scaffolded Item => Identity yang membuka Dialog Select. Pilih halaman yang diinginkan dan ini dia. Ubah saja halaman yang Anda inginkan dan salin ke tempat yang sama dalam proyek yang mendukung Identitas karena halaman baru ini secara otomatis menimpa default. Ini adalah cara baru untuk menyesuaikan otentikasi / otorisasi menggunakan Identitas tidak yakin apakah banyak yang menganggap kemajuan signifikan ini!

Lance Parkington
sumber