Di VS 2017, saya membuat Aplikasi Web ASP.NET Core baru. Di halaman kedua wizard, saya memilih Aplikasi Web, dan untuk Otentikasi saya memilih "Akun Pengguna Individual".
Sekarang, saya mencoba mencari Halaman yang terkait dengan / Akun / Daftar dan / Akun / Login .
_Layout.cshtml menghadirkan _LoginP Partial.cshtml, seperti yang terjadi di MVC klasik:
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a asp-page="/Index">Home</a></li>
<li><a asp-page="/About">About</a></li>
<li><a asp-page="/Contact">Contact</a></li>
</ul>
<partial name="_LoginPartial" />
</div>
Jika pengguna tidak masuk maka _LoginP Partial menyertakan <a>
tag yang mengarah ke halaman masuk dan daftar:
<ul class="nav navbar-nav navbar-right">
<li><a asp-area="Identity" asp-page="/Account/Register">Register</a></li>
<li><a asp-area="Identity" asp-page="/Account/Login">Login</a></li>
</ul>
Itu semua sepertinya masuk akal. Tapi saya berharap struktur folder Area menyertakan folder Register dan Login. Itu tidak. Satu-satunya hal yang saya temukan di sana adalah _ViewStart.cshtml
Saya tahu bahwa kode perancah berfungsi, Ketika saya menjalankan proyek, tautan Daftar mengarah ke "/ Identitas / Akun / Daftar" dan tautan Masuk mengarah ke "/ Identitas / Akun / Masuk". Mengklik pada link Register memberi saya halaman pendaftaran yang menyertakan teks "Buat akun baru".
Tetapi saya tidak dapat menemukan teks "Buat akun baru" di mana pun dalam proyek ini.
Bisakah seseorang memberi tahu saya apa yang saya lewatkan?
sumber
Anda dapat melakukan ini dari dalam Visual Studio, Klik kanan pada Proyek Anda dan pilih Add-> New Scaffolded Item
Kemudian pilih Identity dan klik Add
Sekarang pilih halaman yang ingin Anda timpa. Drop-down Data Context Class: dan Namespace dan Context Anda harus diisi sebelumnya untuk Anda.
Terakhir klik Add. Jika Anda sudah ada override file di sana (yaitu dari template) ini akan memperingatkan tentang menimpanya.
sumber
Klik kanan pada proyek, pilih
Add -> New Scaffold Item
, pada dialog pilih Identity di panel kiri.Anda juga dapat membuat halaman ini menggunakan perintah ini:
Pastikan Anda mengganti dengan namespace + nama DbContext Anda sendiri. Halaman-halaman dibuat di sini:
Jika Anda melihat masalah ini:
Anda mungkin dapat memperbaikinya dengan menambahkan ini kepada Anda
.csproj
dan membangunnya kembali:sumber
WebApplication1.Data.ApplicationDbContext
dengan namespace dan nama file yang benar?dotnet aspnet-codegenerator
. Mungkin ini masalahnya?'Jika Anda ingin semua kode identitas ada dalam aplikasi Anda sehingga Anda dapat mengubahnya sesuka Anda, Anda dapat menggunakan scaffolder identitas baru untuk menambahkan kode identitas ke aplikasi Anda. Semua kode identitas perancah dibuat dalam folder area spesifik identitas sehingga tetap terpisah dengan baik dari kode aplikasi Anda. '
https://blogs.msdn.microsoft.com/webdev/2018/02/02/asp-net-core-2-1-roadmap/#identity
Ini bekerja cukup bagus dan mudah bagi saya.
sumber
Sedikit terlambat ke pesta tetapi setelah frustrasi dengan Identity UI, saya menyerah. Buat proyek Anda tanpa itu. Saran saya adalah (saat menggunakan 2.1 atau 2.2) buat akun Anda sendiri / kelola pengontrol dan halaman mvc. Beberapa proses debug startup.cs akan diperlukan. Juga nonaktifkan opsi kompilasi tampilan terbitkan (yaitu views.dll). Mungkin saya tidak memiliki set opsi tetapi kompilator sepenuhnya mengabaikan perubahan apa pun dalam blok skrip tingkat halaman.
sumber