Bagikan melalui


Mengonfigurasi Situs Web yang Menggunakan Application Services (C#)

oleh Scott Mitchell

Catatan

Sejak artikel ini ditulis, penyedia keanggotaan ASP.NET telah digantikan oleh ASP.NET Identity. Kami sangat menyarankan untuk memperbarui aplikasi untuk menggunakan platform identitas ASP.NET daripada penyedia Keanggotaan yang ditampilkan pada saat artikel ini ditulis. ASP.NET Identity memiliki sejumlah keunggulan dibandingkan sistem Keanggotaan ASP.NET, termasuk :

  • Performa yang lebih baik
  • Peningkatan ekstensibilitas dan uji coba
  • Dukungan untuk OAuth, OpenID Connect, dan autentikasi dua faktor
  • Dukungan Identitas berbasis klaim
  • Interoperabilitas yang lebih baik dengan ASP.Net Core

ASP.NET versi 2.0 memperkenalkan serangkaian layanan aplikasi, yang merupakan bagian dari .NET Framework dan berfungsi sebagai rangkaian layanan blok bangunan yang dapat Anda gunakan untuk menambahkan fungsionalitas yang kaya ke aplikasi web Anda. Tutorial ini mengeksplorasi cara mengonfigurasi situs web di lingkungan produksi untuk menggunakan layanan aplikasi dan mengatasi masalah umum dengan mengelola akun pengguna dan peran pada lingkungan produksi.

Pengantar

ASP.NET versi 2.0 memperkenalkan serangkaian layanan aplikasi, yang merupakan bagian dari .NET Framework dan berfungsi sebagai rangkaian layanan blok bangunan yang dapat Anda gunakan untuk menambahkan fungsionalitas yang kaya ke aplikasi web Anda. Layanan aplikasi meliputi:

  • Keanggotaan - API untuk membuat dan mengelola akun pengguna.
  • Peran - API untuk mengategorikan pengguna ke dalam grup.
  • Profil - API untuk menyimpan konten khusus pengguna kustom.
  • Peta Situs - API untuk menentukan struktur logis situs dalam bentuk hierarki, yang kemudian dapat ditampilkan melalui kontrol navigasi, seperti menu dan remah roti.
  • Personalisasi - API untuk mempertahankan preferensi penyesuaian, paling sering digunakan dengan WebParts.
  • Pemantauan Kesehatan - API untuk memantau performa, keamanan, kesalahan, dan metrik kesehatan sistem lainnya untuk aplikasi web yang sedang berjalan.

API layanan aplikasi tidak terkait dengan implementasi tertentu. Sebagai gantinya, Anda menginstruksikan layanan aplikasi untuk menggunakan penyedia tertentu, dan penyedia tersebut mengimplementasikan layanan menggunakan teknologi tertentu. Penyedia yang paling umum digunakan untuk aplikasi web berbasis Internet yang dihosting di perusahaan hosting web adalah penyedia yang menggunakan implementasi database SQL Server. Misalnya, SqlMembershipProvider adalah penyedia untuk API Keanggotaan yang menyimpan informasi akun pengguna dalam database Microsoft SQL Server.

Menggunakan layanan aplikasi dan penyedia SQL Server menambahkan beberapa tantangan saat menyebarkan aplikasi. Sebagai permulaan, objek database layanan aplikasi harus dibuat dengan benar pada database pengembangan dan produksi dan diinisialisasi dengan tepat. Ada juga pengaturan konfigurasi penting yang perlu dibuat.

Catatan

API layanan aplikasi dirancang menggunakan model penyedia, pola desain yang memungkinkan detail implementasi API disediakan saat runtime. .NET Framework dikirim dengan sejumlah penyedia layanan aplikasi yang dapat digunakan, seperti SqlMembershipProvider dan SqlRoleProvider, yang merupakan penyedia untuk API Keanggotaan dan Peran yang menggunakan implementasi database SQL Server. Anda juga dapat membuat dan mencolokkan penyedia kustom. Bahkan, aplikasi web Ulasan Buku sudah berisi penyedia kustom untuk API Peta Situs (ReviewSiteMapProvider), yang membangun peta situs dari data dalam Genres tabel dan Books dalam database.

Tutorial ini dimulai dengan melihat bagaimana saya memperluas aplikasi web Ulasan Buku untuk menggunakan API Keanggotaan dan Peran. Kemudian berjalan melalui penyebaran aplikasi web yang menggunakan layanan aplikasi dengan implementasi database SQL Server, dan menyimpulkan dengan mengatasi masalah umum dengan mengelola akun pengguna dan peran pada lingkungan produksi.

Updates ke Aplikasi Ulasan Buku

Selama beberapa tutorial sebelumnya, aplikasi web Ulasan Buku diperbarui dari situs web statis ke aplikasi web dinamis berbasis data lengkap dengan sekumpulan halaman administrasi untuk mengelola genre dan ulasan. Namun, bagian administrasi ini saat ini tidak dilindungi - setiap pengguna yang mengetahui (atau menebak) URL halaman administrasi dapat masuk dan membuat, mengedit, atau menghapus tinjauan di situs kami. Cara umum untuk melindungi bagian tertentu dari situs web adalah dengan menerapkan akun pengguna lalu menggunakan aturan otorisasi URL untuk membatasi akses ke pengguna atau peran tertentu. Aplikasi web Ulasan Buku tersedia untuk diunduh dengan tutorial ini mendukung akun dan peran pengguna. Ini memiliki satu peran yang ditentukan bernama Admin dan hanya pengguna dalam peran ini yang dapat mengakses halaman administrasi.

Catatan

Saya telah membuat tiga akun pengguna di aplikasi web Ulasan Buku: Scott, Jisun, dan Alice. Ketiga pengguna memiliki kata sandi yang sama: kata sandi! Scott dan Jisun berada dalam peran Admin, Alice tidak. Halaman non-administrasi situs masih dapat diakses oleh pengguna anonim. Artinya, Anda tidak perlu masuk untuk mengunjungi situs, kecuali Anda ingin mengelolanya, dalam hal ini Anda harus masuk sebagai pengguna dalam peran Admin.

Halaman master aplikasi Ulasan Buku telah diperbarui untuk menyertakan antarmuka pengguna yang berbeda untuk pengguna yang diautentikasi dan anonim. Jika pengguna anonim mengunjungi situs, dia melihat tautan Masuk di sudut kanan atas. Pengguna yang diautentikasi melihat pesan, "Selamat datang kembali, nama pengguna!" dan tautan untuk keluar. Ada juga halaman login (~/Login.aspx), yang berisi kontrol Web Masuk yang menyediakan antarmuka pengguna dan logika untuk mengautentikasi pengunjung. Hanya administrator yang dapat membuat akun baru. (Ada halaman untuk membuat dan mengelola akun pengguna di ~/Admin folder.)

Mengonfigurasi API Keanggotaan dan Peran

Aplikasi web Ulasan Buku menggunakan API Keanggotaan dan Peran untuk mendukung akun pengguna dan mengelompokkan pengguna tersebut ke dalam peran (yaitu, peran Admin). Kelas SqlMembershipProvider penyedia dan SqlRoleProvider digunakan karena kami ingin menyimpan informasi akun dan peran dalam database SQL Server.

Catatan

Tutorial ini tidak dimaksudkan untuk menjadi pemeriksaan terperinci dalam mengonfigurasi aplikasi web untuk mendukung API Keanggotaan dan Peran. Untuk melihat api ini secara menyeluruh dan langkah-langkah yang perlu Anda ambil untuk mengonfigurasi situs web untuk menggunakannya, silakan baca Tutorial Keamanan Situs Web saya.

Untuk menggunakan layanan aplikasi dengan database SQL Server, Anda harus terlebih dahulu menambahkan objek database yang digunakan oleh penyedia ini ke database tempat Anda ingin menyimpan akun pengguna dan informasi peran. Objek database yang diperlukan ini mencakup berbagai tabel, tampilan, dan prosedur tersimpan. Kecuali ditentukan sebaliknya, SqlMembershipProvider kelas penyedia dan SqlRoleProvider menggunakan database SQL Server Express Edition bernama ASPNETDB yang terletak di folder aplikasi sApp_Data; jika database seperti itu tidak ada, itu secara otomatis dibuat dengan objek database yang diperlukan oleh penyedia ini pada runtime.

Dimungkinkan, dan biasanya ideal, untuk membuat objek database layanan aplikasi dalam database yang sama tempat data khusus aplikasi situs web disimpan. .NET Framework dikirim dengan alat bernama aspnet_regsql.exe yang menginstal objek database pada database tertentu. Saya telah melanjutkan dan menggunakan alat ini untuk menambahkan objek ini ke Reviews.mdf database di App_Data folder (database pengembangan). Kita akan melihat cara menggunakan alat ini nanti dalam tutorial ini ketika kita menambahkan objek ini ke database produksi.

Jika Anda menambahkan objek database layanan aplikasi ke database selain ASPNETDB Anda harus menyesuaikan SqlMembershipProvider konfigurasi kelas penyedia dan SqlRoleProvider sehingga mereka menggunakan database yang sesuai. Untuk menyesuaikan penyedia Keanggotaan, tambahkan <elemen keanggotaan> dalam <system.web> bagian di Web.config; gunakan <elemen roleManager> untuk mengonfigurasi penyedia Peran. Cuplikan berikut diambil dari aplikasi Web.config Ulasan Buku dan menunjukkan pengaturan konfigurasi untuk API Keanggotaan dan Peran. Perhatikan bahwa keduanya mendaftarkan penyedia baru - ReviewMembership dan ReviewRole - yang masing-masing menggunakan SqlMembershipProvider penyedia dan SqlRoleProvider .

<configuration>
    <system.web>
        ...

        <membership defaultProvider="ReviewMembership">
            <providers>
                <clear />

                <add type="System.Web.Security.SqlMembershipProvider" 
                     name="ReviewMembership" 
                     connectionStringName="ReviewsConnectionString" 
                     applicationName="BookReviews" />
            </providers>
        </membership>

        <roleManager enabled="true" defaultProvider="ReviewRole">
            <providers>
                <clear />

                <add type="System.Web.Security.SqlRoleProvider" 
                     name="ReviewRole" 
                     connectionStringName="ReviewsConnectionString" 
                     applicationName="BookReviews" />
            </providers>
        </roleManager>

        ...
    </system.web>
</configuration>

Elemen Web.config file s <authentication> juga telah dikonfigurasi untuk mendukung autentikasi berbasis formulir.

<configuration>
    <system.web>
        ...

        <authentication mode="Forms" />

        ...
    </system.web>
</configuration>

Membatasi Akses ke Halaman Administrasi

ASP.NET memudahkan untuk memberikan atau menolak akses ke file atau folder tertentu oleh pengguna atau dengan peran melalui fitur otorisasi URL-nya . (Kami secara singkat membahas otorisasi URL dalam tutorial Perbedaan Inti Antara IIS dan ASP.NET Development Server dan menunjukkan bagaimana IIS dan Server Pengembangan ASP.NET menerapkan aturan otorisasi URL secara berbeda untuk konten statis versus dinamis.) Karena kami ingin melarang akses ke ~/Admin folder kecuali untuk pengguna tersebut dalam peran Admin, kita perlu menambahkan aturan otorisasi URL ke folder ini. Secara khusus, aturan otorisasi URL perlu memungkinkan pengguna dalam peran Admin dan menolak semua pengguna lain. Ini dicapai dengan menambahkan Web.config file ke ~/Admin folder dengan konten berikut:

<?xml version="1.0"?>
<configuration>
    <system.web>
        <authorization>
            <allow roles="Admin" />
            <deny users="*" />
        </authorization>
    </system.web>
</configuration>

Untuk informasi selengkapnya tentang fitur otorisasi URL ASP.NET dan cara menggunakannya untuk mengeja aturan otorisasi untuk pengguna dan untuk peran, pastikan untuk membaca tutorial Otorisasi Berbasis Pengguna dan Otorisasi Berbasis Peran dari Tutorial Keamanan Situs Web saya.

Menyebarkan Aplikasi Web yang Menggunakan Layanan Aplikasi

Saat menyebarkan situs web yang menggunakan layanan aplikasi dan penyedia yang menyimpan informasi layanan aplikasi dalam database, sangat penting bahwa objek database yang diperlukan oleh layanan aplikasi dibuat pada database produksi. Awalnya database produksi tidak berisi objek ini, jadi ketika aplikasi pertama kali disebarkan (atau ketika disebarkan untuk pertama kalinya setelah layanan aplikasi ditambahkan), Anda harus mengambil langkah tambahan untuk mendapatkan objek database yang diperlukan ini pada database produksi.

Tantangan lain dapat muncul saat menyebarkan situs web yang menggunakan layanan aplikasi jika Anda berniat mereplikasi akun pengguna yang dibuat di lingkungan pengembangan ke lingkungan produksi. Bergantung pada konfigurasi Keanggotaan dan Peran, ada kemungkinan bahwa bahkan jika Anda berhasil menyalin akun pengguna yang dibuat di lingkungan pengembangan ke database produksi, pengguna ini tidak dapat masuk ke aplikasi web dalam produksi. Kita akan melihat penyebab masalah ini dan membahas cara mencegahnya terjadi.

ASP.NET dikirim dengan Alat Administrasi Situs Web (WSAT) yang bagus yang dapat diluncurkan dari Visual Studio dan memungkinkan akun pengguna, peran, dan aturan otorisasi dikelola melalui antarmuka berbasis web. Sayangnya, WSAT hanya berfungsi untuk situs web lokal, yang berarti tidak dapat digunakan untuk mengelola akun pengguna, peran, dan aturan otorisasi dari jarak jauh untuk aplikasi web di lingkungan produksi. Kita akan melihat berbagai cara untuk menerapkan perilaku seperti WSAT dari situs web produksi Anda.

Menambahkan Objek Database Menggunakan aspnet_regsql.exe

Tutorial Menyebarkan Database menunjukkan cara menyalin tabel dan data dari database pengembangan ke database produksi, dan teknik ini tentu dapat digunakan untuk menyalin objek database layanan aplikasi ke database produksi. Opsi lain adalah aspnet_regsql.exe alat, yang menambahkan atau menghapus objek database layanan aplikasi dari database.

Catatan

Alat ini aspnet_regsql.exe membuat objek database pada database tertentu. Ini tidak memigrasikan data dalam objek database tersebut dari database pengembangan ke database produksi. Jika Anda bermaksud menyalin akun pengguna dan informasi peran dalam database pengembangan ke database produksi, gunakan teknik yang tercakup dalam tutorial Menyebarkan Database .

Mari kita lihat cara menambahkan objek database ke database produksi menggunakan alat ini aspnet_regsql.exe . Mulailah dengan membuka Windows Explorer dan menavigasi ke direktori .NET Framework versi 2.0 di komputer Anda, %WINDIR%\ Microsoft.NET\Framework\v2.0.50727. Di sana Anda harus menemukan alat ini aspnet_regsql.exe . Alat ini dapat digunakan dari baris perintah, tetapi juga mencakup antarmuka pengguna grafis; klik aspnet_regsql.exe dua kali file untuk meluncurkan komponen grafisnya.

Alat ini dimulai dengan menampilkan layar splash yang menjelaskan tujuannya. Klik Berikutnya untuk melanjutkan ke layar "Pilih Opsi Penyetelan", yang diperlihatkan dalam Gambar 1. Dari sini Anda dapat memilih untuk menambahkan objek database layanan aplikasi atau menghapusnya dari database. Karena kami ingin menambahkan objek ini ke database produksi, pilih opsi "Konfigurasikan SQL Server untuk layanan aplikasi" dan klik Berikutnya.

Pilih untuk Mengonfigurasi SQL Server untuk Layanan Aplikasi

Gambar 1: Pilih untuk Mengonfigurasi SQL Server untuk Layanan Aplikasi (Klik untuk melihat gambar ukuran penuh)

Di layar "Pilih Server dan Database" meminta informasi untuk menyambungkan ke database. Masukkan server database, kredensial keamanan, dan nama database yang diberikan kepada Anda oleh perusahaan hosting web Anda dan klik Berikutnya.

Catatan

Setelah memasukkan server database dan kredensial, Anda mungkin mendapatkan kesalahan saat memperluas daftar drop-down database. Alat ini aspnet_regsql.exe meminta sysdatabases tabel sistem untuk mengambil daftar database di server, tetapi beberapa perusahaan hosting web mengunci server database mereka sehingga informasi ini tidak tersedia untuk umum. Jika Anda mendapatkan kesalahan ini, Anda bisa mengetikkan nama database langsung ke dalam daftar drop-down.

Berikan Alat Dengan Informasi Koneksi Database Anda

Gambar 2: Berikan Alat Dengan Informasi Koneksi Database Anda (Klik untuk melihat gambar ukuran penuh)

Layar berikutnya meringkas tindakan yang akan terjadi, yaitu bahwa objek database layanan aplikasi akan ditambahkan ke database yang ditentukan. Klik Berikutnya untuk menyelesaikan tindakan ini. Setelah beberapa saat, layar akhir ditampilkan, mencatat bahwa objek database telah ditambahkan (lihat Gambar 3).

Sukses! Objek Database Application Services Ditambahkan ke Database Produksi

Gambar 3: Sukses! Objek Database Application Services Ditambahkan ke Database Produksi (Klik untuk melihat gambar ukuran penuh)

Untuk memverifikasi bahwa objek database layanan aplikasi berhasil ditambahkan ke database produksi, buka SQL Server Management Studio dan sambungkan ke database produksi Anda. Seperti yang ditunjukkan Gambar 4, Anda sekarang akan melihat tabel database layanan aplikasi di database Anda, aspnet_Applications, aspnet_Membership, aspnet_Users, dan sebagainya.

Konfirmasikan bahwa Objek Database Ditambahkan ke Database Produksi

Gambar 4: Konfirmasikan bahwa Objek Database Ditambahkan ke Database Produksi (Klik untuk melihat gambar ukuran penuh)

Anda hanya perlu menggunakan aspnet_regsql.exe alat ini saat menyebarkan aplikasi web untuk pertama kalinya atau untuk pertama kalinya setelah Anda mulai menggunakan layanan aplikasi. Setelah objek database ini berada di database produksi, objek tersebut tidak perlu ditambahkan kembali atau dimodifikasi.

Menyalin Akun Pengguna dari Pengembangan ke Produksi

Saat menggunakan SqlMembershipProvider kelas penyedia dan SqlRoleProvider untuk menyimpan informasi layanan aplikasi dalam database SQL Server, akun pengguna dan informasi peran disimpan dalam berbagai tabel database, termasuk aspnet_Users, , aspnet_Membershipaspnet_Roles, dan aspnet_UsersInRoles, antara lain. Jika selama pengembangan, Anda membuat akun pengguna di lingkungan pengembangan, Anda dapat mereplikasi akun pengguna tersebut dalam produksi dengan menyalin rekaman terkait dari tabel database yang berlaku. Jika Anda menggunakan Panduan Penerbitan Database untuk menyebarkan objek database layanan aplikasi, Anda mungkin juga telah memilih untuk menyalin rekaman, yang akan mengakibatkan akun pengguna yang dibuat dalam pengembangan juga berada pada produksi. Namun, tergantung pada pengaturan konfigurasi Anda, Anda mungkin menemukan bahwa pengguna yang akunnya dibuat dalam pengembangan dan disalin ke produksi tidak dapat masuk dari situs web produksi. Apa yang memberi?

Kelas SqlMembershipProvider penyedia dan SqlRoleProvider dirancang sewaktu-waktu sehingga satu database dapat berfungsi sebagai penyimpanan pengguna untuk beberapa aplikasi, di mana setiap aplikasi dapat, secara teori, membuat pengguna dengan nama pengguna dan peran yang tumpang tindih dengan nama yang sama. Untuk memungkinkan fleksibilitas ini, database mempertahankan daftar aplikasi dalam aspnet_Applications tabel, dan setiap pengguna dikaitkan dengan salah satu aplikasi ini. Secara khusus, aspnet_Users tabel memiliki ApplicationId kolom yang mengikat setiap pengguna dengan rekaman dalam aspnet_Applications tabel.

Selain ApplicationId kolom, aspnet_Applications tabel juga menyertakan ApplicationName kolom, yang menyediakan nama yang lebih ramah manusia untuk aplikasi. Ketika situs web mencoba bekerja dengan akun pengguna, seperti memvalidasi kredensial pengguna dari halaman masuk, situs web harus memberi tahu SqlMembershipProvider kelas aplikasi apa yang akan dikerjakan. Biasanya ini dilakukan dengan menyediakan nama aplikasi, dan nilai ini berasal dari konfigurasi penyedia di Web.config - khususnya applicationName melalui atribut .

Tetapi apa yang terjadi jika applicationName atribut tidak ditentukan dalam Web.config? Dalam kasus seperti itu, sistem Keanggotaan menggunakan jalur akar aplikasi sebagai applicationName nilai. applicationName Jika atribut tidak secara eksplisit diatur dalam Web.config, maka, ada kemungkinan bahwa lingkungan pengembangan dan lingkungan produksi menggunakan akar aplikasi yang berbeda dan oleh karena itu akan dikaitkan dengan nama aplikasi yang berbeda dalam layanan aplikasi. Jika ketidakcocokan seperti itu terjadi, maka pengguna yang dibuat di lingkungan pengembangan akan memiliki ApplicationId nilai yang tidak cocok dengan ApplicationId nilai untuk lingkungan produksi. Hasil bersihnya adalah bahwa pengguna tersebut tidak akan dapat masuk.

Catatan

Jika Anda menemukan diri Anda dalam situasi ini - dengan akun pengguna yang disalin ke produksi dengan nilai yang tidak cocok ApplicationId - Anda dapat menulis kueri untuk memperbarui nilai yang salah ApplicationId ini ke yang ApplicationId digunakan pada produksi. Setelah diperbarui, pengguna yang akunnya dibuat di lingkungan pengembangan sekarang akan dapat masuk ke aplikasi web pada produksi.

Kabar baiknya adalah ada langkah sederhana yang dapat Anda ambil untuk memastikan bahwa kedua lingkungan menggunakan yang sama ApplicationId - secara eksplisit mengatur applicationName atribut untuk Web.config semua penyedia layanan aplikasi Anda. Saya secara eksplisit mengatur applicationName atribut ke "BookReviews" di <membership> elemen dan <roleManager> sebagai cuplikan ini dari Web.config menunjukkan.

<membership defaultProvider="ReviewMembership">
    <providers>
        <clear />

        <add type="System.Web.Security.SqlMembershipProvider" 
             name="ReviewMembership" 
             connectionStringName="ReviewsConnectionString" 
             applicationName="BookReviews" />
    </providers>
</membership>

Untuk diskusi lebih lanjut tentang mengatur applicationName atribut dan alasan di baliknya, lihat posting blog Scott Guthrie , Selalu atur properti applicationName saat mengonfigurasi keanggotaan ASP.NET dan Penyedia lainnya.

Mengelola Akun Pengguna di Lingkungan Produksi

Alat Administrasi Situs Web (WSAT) ASP.NET memudahkan untuk membuat dan mengelola akun pengguna, menentukan dan menerapkan peran, serta mengeja aturan otorisasi berbasis pengguna dan peran. Anda dapat meluncurkan WSAT dari Visual Studio dengan masuk ke Penjelajah Solusi dan mengklik ikon Konfigurasi ASP.NET atau dengan masuk ke menu Situs Web atau Proyek dan memilih item menu Konfigurasi ASP.NET. Sayangnya, WSAT hanya dapat bekerja dengan situs web lokal. Oleh karena itu, Anda tidak dapat menggunakan WSAT dari stasiun kerja Anda untuk mengelola situs web di lingkungan produksi.

Kabar baiknya adalah bahwa semua fungsionalitas yang diekspos yang disediakan oleh WSAT tersedia secara terprogram melalui API Keanggotaan dan Peran; selain itu, banyak layar WSAT menggunakan kontrol standar ASP.NET Terkait login. Singkatnya, Anda dapat menambahkan halaman ASP.NET ke situs web Anda yang menawarkan kemampuan manajemen yang diperlukan.

Ingat bahwa tutorial sebelumnya memperbarui aplikasi web Ulasan Buku untuk menyertakan ~/Admin folder, dan folder ini telah dikonfigurasi untuk hanya mengizinkan pengguna dalam peran Admin. Saya menambahkan halaman ke folder bernama CreateAccount.aspx tempat administrator dapat membuat akun pengguna baru. Halaman ini menggunakan kontrol CreateUserWizard untuk menampilkan antarmuka pengguna dan logika backend untuk membuat akun pengguna baru. Terlebih lagi, saya menyesuaikan kontrol untuk menyertakan Kotak Centang yang meminta apakah pengguna baru juga harus ditambahkan ke peran Admin (lihat Gambar 5). Dengan sedikit pekerjaan, Anda dapat membuat sekumpulan halaman kustom yang mengimplementasikan pengguna dan tugas terkait manajemen peran yang jika tidak akan disediakan oleh WSAT.

Catatan

Untuk informasi selengkapnya tentang menggunakan API Keanggotaan dan Peran bersama dengan kontrol Web ASP.NET terkait Login, pastikan untuk membaca Tutorial Keamanan Situs Web saya. Untuk informasi selengkapnya tentang menyesuaikan kontrol CreateUserWizard, lihat tutorial Membuat Akun Pengguna dan Menyimpan Informasi Pengguna Tambahan , atau lihat artikel Erich Peterson , Menyesuaikan CreateUserWizard Control.

Administrator Dapat Membuat Akun Pengguna Baru

Gambar 5: Administrator Dapat Membuat Akun Pengguna Baru (Klik untuk melihat gambar ukuran penuh)

Jika Anda memerlukan fungsionalitas penuh dari WSAT check out Rolling Your Own Web Site Administration Tool, di mana penulis Dan Clem berjalan melalui proses membangun alat seperti WSAT kustom. Dan membagikan kode sumber aplikasinya (dalam C#) dan memberikan instruksi langkah demi langkah untuk menambahkannya ke situs web yang dihosting.

Ringkasan

Saat menyebarkan aplikasi web yang menggunakan implementasi database layanan aplikasi, Anda harus terlebih dahulu memastikan bahwa database produksi memiliki objek database yang disyaratkan. Objek-objek ini dapat ditambahkan menggunakan teknik yang dibahas dalam tutorial Menyebarkan Database ; atau, Anda dapat menggunakan alat ini, seperti yang aspnet_regsql.exe kita lihat dalam tutorial ini. Tantangan lain yang kami sentuh di pusat sinkronisasi nama aplikasi yang digunakan dalam lingkungan pengembangan dan produksi (yang penting jika Anda ingin pengguna dan peran yang dibuat di lingkungan pengembangan valid pada produksi) dan teknik untuk mengelola pengguna dan peran di lingkungan produksi.

Selamat Pemrograman!

Bacaan lebih lanjut

Untuk informasi selengkapnya tentang topik yang dibahas dalam tutorial ini, lihat sumber daya berikut: