Bagikan melalui


Merancang untuk Keamanan

Strategi end-to-end Anda untuk keamanan jelas tergantung pada jenis aplikasi terdistribusi yang Anda kembangkan. Berikut adalah beberapa saran untuk mengatasi keamanan sehubungan dengan logika aplikasi tingkat menengah:

  • Untuk efisiensi dan performa, autentikasi sedekat mungkin dengan pengguna. Jika aplikasi Anda melibatkan arsitektur browser-to-business-logic-to-database, pertimbangkan untuk memetakan klien browser ke identitas domain, jalankan aplikasi COM+ di bawah identitas khusus untuk setiap aplikasi, dan konfigurasikan tabel di tingkat data agar hanya dapat diakses oleh identitas aplikasi tertentu. Skenario server tepercaya ini lebih dapat diskalakan dan kurang bermasalah daripada menggunakan DBMS untuk mengautentikasi.
  • Jika Anda merancang komponen yang akan digunakan dalam aplikasi terdistribusi menggunakan keamanan berbasis peran, Anda dapat menggunakan fungsionalitas keamanan COM+. Fungsionalitas ini memungkinkan Anda memanggil metode seperti IObjectContext::IsCallerInRole dan IObjectContext::IsSecurityEnabled untuk membantu melindungi blok kode dari akses yang tidak sah. Anda juga dapat menggunakan konteks panggilan keamanan untuk mendapatkan informasi tentang pemanggil objek.
  • Jika Anda merancang komponen yang akan digunakan dalam aplikasi terdistribusi tanpa menggunakan keamanan berbasis peran, keamanan secara otomatis hanya diperiksa pada tingkat proses. Izin akses proses menentukan siapa yang diberikan akses ke aplikasi. Jika Anda memerlukan kontrol biji-bijian yang lebih halus atas pengaturan keamanan pada proses atau di tingkat antarmuka, gunakan fungsionalitas keamanan terprogram yang disediakan oleh COM.
  • Jika komponen yang menggunakan keamanan terprogram COM+ dijalankan tanpa diintegrasikan ke dalam aplikasi COM+, pengecualian akan dilemparkan. Oleh karena itu, jika Anda ingin komponen tersebut berhasil diintegrasikan ke dalam aplikasi yang bukan bagian dari lingkungan COM+, Anda harus menangani semua pengecualian dengan tepat.

Merancang untuk Ketersediaan

Merancang untuk Penyebaran

Merancang untuk Skalabilitas

Keamanan Komponen Terprogram