Murni sebagai titik referensi, mungkin ide yang baik untuk membuat template Aplikasi Internet baru dari proyek Aplikasi Web ASP.NET MVC 4 (yaitu melalui File> Proyek Baru).
Jika Anda melihat AccountController
, seperti yang dikatakan @zms6445, itu dihiasi dengan InitializeSimpleMembership
atribut. Anda dapat menemukan implementasi atribut ini di file InitializeSimpleMembershipAttribute.cs di folder Filter dalam direktori root.
Di sini, ini adalah bagian teka-teki yang hilang - Anda perlu menghubungkan database yang ada sehingga dapat digunakan oleh SimpleMembershipProvider
. Ini adalah kode yang Anda butuhkan:
private class SimpleMembershipInitializer
{
public SimpleMembershipInitializer()
{
try
{
if (!WebSecurity.Initialized)
{
WebSecurity.InitializeDatabaseConnection("CONNECTION_STRING_NAME", "USER_TABLE", "USER_ID_FIELD", "USER_NAME_FIELD", autoCreateTables: true);
}
}
catch (Exception ex)
{
throw new InvalidOperationException("Something is wrong", ex);
}
}
}
Beberapa hal yang perlu diperhatikan:
-
CONNECTION_STRING_NAME
adalah entri di web.config ConnectionStrings Anda - Anda TIDAK BISA menggunakan model string koneksi di sini -SimpleMembershipProvider
tidak mengenali format itu! Anda perlu menentukanSystem.Data.SqlClient
string koneksi, mis. -
USER_TABLE
adalah tabel dalam database Anda untuk menyimpan informasi pengguna tambahan, seperti nama depan, nama belakang, dll. Ini ditautkan ke tabel yang dibuat secara otomatis melalui USER_ID_FIELD. -
USER_ID_FIELD
biasanya merupakan kunci utama tabel Pengguna Anda. Itu harus bertipeint
. -
USER_ID_NAME
adalah nama unik untuk pengguna, yang bisa berupa alamat Email. -
autoCreateTables
disetel ketrue
untuk memastikan tabel yang diperlukan agar SimpleMembership berfungsi, dibuat jika belum ada.
Tentu saja, kode ini hanya akan diaktifkan jika Anda membuka halaman melalui AccountController
, karena ini telah didekorasi oleh atribut. Anda dapat menempatkan breakpoint di sana dan melihatnya beraksi.
Ini akan membantu Anda memulai - template Aplikasi Internet adalah template yang cukup bagus untuk diikuti jika Anda buntu.
Semoga membantu.