Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Menggunakan MVC 4 SimpleMembership dengan model EF pertama database yang ada

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:

  1. 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 menentukan System.Data.SqlClient string koneksi, mis.

  2. 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.

  3. USER_ID_FIELD biasanya merupakan kunci utama tabel Pengguna Anda. Itu harus bertipe int .

  4. USER_ID_NAME adalah nama unik untuk pengguna, yang bisa berupa alamat Email.

  5. autoCreateTables disetel ke true 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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara membuat Batasan Kunci Asing dengan ON DELETE CASCADE di SQL Server - Tutorial SQL Server / TSQL Bagian 80

  2. Bagaimana cara meneruskan variabel yang berisi daftar ke kueri SQL dinamis?

  3. Cara Menemukan Format Tanggal yang Digunakan untuk Bahasa Tertentu di SQL Server (T-SQL)

  4. Kesalahan selama migrasi tambahan Kode Pertama

  5. SQL Server, Python, dan OS X