Anda sedang offline saat ini, menunggu internet Anda untuk menyambung kembali

INFO: ASP.NET keamanan Overview

PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.

Klik disini untuk melihat versi Inggris dari artikel ini: 306590
Artikel ini merujuk kepada .net Microsoft berikut Kerangka perpustakaan kelas namespaces:
  • System.web.Security
  • System.web.Principal
RINGKASAN
Artikel ini menyediakan pengenalan ASP.NET keamanan.

Untuk tambahan ASP.NET ikhtisar merujuk sebagai berikut Artikel Pangkalan Pengetahuan Microsoft:
305140 INFO: ASP.NET Roadmap
INFORMASI LEBIH LANJUT
ASP.net memberi Anda lebih banyak kontrol untuk menerapkan keamanan untuk aplikasi Anda. ASP.net keamanan bekerja dalam hubungannya dengan Microsoft Internet Information Services Keamanan (IIS) dan termasuk layanan otentikasi dan otorisasi untuk menerapkan model keamanan ASP.NET. ASP.net juga termasuk berbasis peran fitur keamanan yang dapat diterapkan untuk kedua Microsoft Windows dan account pengguna non-Windows.

Artikel ini dibagi menjadi berikut bagian:

Aliran keamanan dengan permintaan

Langkah-langkah berikut menjelaskan urutan menurun peristiwa ketika seorang klien membuat permintaan:
  1. Klien meminta halaman .aspx yang berada di IIS server.
  2. Klien kredensial dilewatkan ke IIS.
  3. IIS mengotentikasi klien dan meneruskan dikonfirmasi tanda bersama dengan permintaan klien untuk proses pekerja ASP.NET.
  4. Berdasarkan token dikonfirmasi dari IIS dan pengaturan konfigurasi untuk aplikasi web, ASP.NET memutuskan apakah akan meniru pengguna di thread yang memproses permintaan. Dalam berbeda perbedaan antara Microsoft Active Server Pages (ASP) dan ASP.NET, ASP.NET tidak lagi impersonates otentikasi pengguna secara asali. Untuk mengaktifkan peniruan, Anda harus menetapkan atribut meniru bagian identitas dalam file Web.config untuk benar.
Untuk informasi lebih lanjut tentang keamanan aliran, merujuk kepada Berikut topik di .NET Framework Software Development Kit (SDK) Dokumentasi: Untuk informasi tambahan tentang meniru di ASP.NET, klik nomor artikel di bawah ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
306158 INFO: Menerapkan peniruan di ASP.NET aplikasi
cadangan

Pengaturan konfigurasi terkait

IIS mempertahankan pengaturan keamanan yang terkait dengan konfigurasi di IIS metabase. Namun, ASP.NET mempertahankan keamanan (dan lainnya) konfigurasi pengaturan dalam file konfigurasi Extensible Markup Language (XML). Meskipun ini umumnya menyederhanakan penggunaan aplikasi Anda dari keamanan sudut pandang, model keamanan yang mengadopsi aplikasi Anda memerlukan benar konfigurasi IIS metabase dan ASP.NET aplikasi melalui berkas konfigurasinya (Web.config).

Berikut bagian konfigurasi terkait dengan ASP.NET keamanan: cadangan

Otentikasi

Otentikasi adalah proses yang Anda memperoleh identifikasi kredensial seperti Nama pengguna dan password dan memvalidasi kredensial tersebut terhadap beberapa otoritas.

ASP.net menyediakan otentikasi empat penyedia:

Bentuk-bentuk otentikasi

Bentuk-bentuk otentikasi mengacu pada sebuah sistem di mana unauthenticated permintaan akan diarahkan ke formulir Bahasa Markah Hiperteks (HTML) di mana pengguna mengetik identitasnya. Setelah pengguna memberikan mandat dan mengajukan bentuk, aplikasi mengotentikasi permintaan, dan isu-isu sistem otorisasi tiket dalam bentuk kue. Cookie ini berisi kredensial atau bukti kunci untuk merebut kembali identitas. Permintaan berikutnya dari browser secara otomatis mencakup cookie.

Untuk informasi lebih lanjut tentang Bentuk-bentuk otentikasi, lihat topik berikut di .NET Framework SDK Dokumentasi: Untuk informasi tambahan otentikasi bentuk di ASP.NET, klik artikel nomor di bawah ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
301240 CARA: Menerapkan berbasis bentuk otentikasi dalam ASP.NET aplikasi dengan menggunakan C# .net

Windows otentikasi

Windows otentikasi, IIS melakukan otentikasi, dan token dikonfirmasi diteruskan ke proses pekerja ASP.NET. Keuntungan dari menggunakan Windows otentikasi adalah bahwa hal itu memerlukan minimal pengkodean. Anda mungkin ingin menggunakan Windows otentikasi untuk meniru account pengguna Windows IIS mengotentikasi sebelum Anda menyerahkan permintaan untuk ASP.NET.

Untuk informasi lebih lanjut tentang Windows otentikasi, lihat topik berikut di .net Kerangka SDK dokumentasi:

Paspor otentikasi

Paspor otentikasi adalah layanan terpusat otentikasi, Microsoft yang menyediakan, yang menawarkan satu masuk dan inti profil layanan untuk anggota situs. Biasanya, paspor otentikasi yang digunakan ketika Anda perlu satu masuk kemampuan di beberapa domain.

Untuk lebih informasi tentang paspor otentikasi, lihat topik berikut di .NET Framework SDK dokumentasi:

Default otentikasi

Otentikasi default digunakan bila Anda tidak ingin keamanan pada aplikasi Web; akses anonim diperlukan untuk keamanan ini penyedia. Di antara semua penyedia otentikasi, Default otentikasi menyediakan kinerja maksimum untuk aplikasi Anda. Penyedia otentikasi ini adalah juga digunakan bila Anda menggunakan modul keamanan kustom Anda sendiri.

cadangan

Otorisasi

Otorisasi adalah proses yang memverifikasi jika dikonfirmasi pengguna memiliki akses ke sumber daya yang diminta.

ASP.net menawarkan penyedia otorisasi berikut:

FileAuthorization

Kelas FileAuthorizationModule melakukan file otorisasi dan aktif bila Anda menggunakan Windows otentikasi. FileAuthorizationModule bertanggung jawab untuk melakukan pemeriksaan pada Windows Access Control Daftar (ACLs) untuk menentukan apakah pengguna harus memiliki akses.

UrlAuthorization

Kelas UrlAuthorizationModule melakukan otorisasi Uniform Resource Locator (URL), yang mengontrol otorisasi berdasarkan URI namespace. URI namespaces dapat sangat berbeda dari fisik jalan folder dan file itu perizinan NTFS Gunakan.

UrlAuthorizationModule menerapkan kedua pernyataan positif dan negatif otorisasi; itu adalah, Anda dapat menggunakan modul untuk selektif mengizinkan atau menolak akses ke sewenang-wenang bagian dari namespace URI untuk pengguna, peran (seperti manajer, penguji, dan administrator), dan kata kerja (seperti GET & POST).

Untuk informasi lebih lanjut tentang otorisasi di ASP.NET, lihat topik berikut .NET Framework SDK dokumentasi: cadangan

Berbasis peran keamanan

Berbasis peran keamanan di ASP.NET mirip dengan berbasis peran keamanan yang Microsoft COM + dan Microsoft transaksi Server (MTS) digunakan, Meskipun ada perbedaan penting. Berbasis peran keamanan di ASP.NET bukanlah terbatas pada account Windows dan kelompok. Misalnya, jika Windows otentikasi dan peniruan diaktifkan, identitas pengguna Windows identity (User.Identity.Name = "Domain\username"). Anda dapat memeriksa identitas untuk keanggotaan dalam peran tertentu dan membatasi akses sesuai. Untuk contoh:

Kode Visual Basic .net
If User.IsInRole("BUILTIN\Administrators") Then   Response.Write("You are an Admin")Else If User.IsInRole("BUILTIN\Users") then   Response.Write("You are a User")Else   Response.Write("Invalid user")End if				
Kode Visual C# .net
if ( User.IsInRole("BUILTIN\\Administrators"))   Response.Write("You are an Admin");else if (User.IsInRole("BUILTIN\\Users"))   Response.Write("You are a User");else   Response.Write("Invalid user");				
Jika Anda menggunakan bentuk-bentuk otentikasi, peran tidak dikelompokkan otentikasi pengguna; Anda harus melakukan ini pemrograman. Untuk menetapkan peran untuk dikonfirmasi pengguna, gunakan acara OnAuthenticate modul otentikasi (yang merupakan bentuk modul otentikasi dalam contoh ini) untuk membuat objek GenericPrincipal baru dan menetapkan properti pengguna HttpContext. Kode berikut menggambarkan ini:

Kode Visual Basic .net
Public Sub Application_AuthenticateRequest(s As Object, e As EventArgs)   If (Not(HttpContext.Current.User Is Nothing)) Then      If HttpContext.Current.User.Identity.AuthenticationType = "Forms" Then         Dim id as System.Web.Security.FormsIdentity = HttpContext.Current.User.Identity         Dim myRoles(3) As String         myRoles(0)= "managers"         myRoles(1)= "testers"         myRoles(2)= "developers"         HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id,myRoles)       End If   End IfEnd Sub				
Kode Visual C# .net
public void Application_AuthenticateRequest(Object s, EventArgs e)      {   if (HttpContext.Current.User != null)   {      if (HttpContext.Current.User.Identity.AuthenticationType == "Forms" )       {         System.Web.Security.FormsIdentity id = HttpContext.Current.User.Identity;         String[] myRoles = new String[3];         myRoles[0]= "managers";         myRoles[1]= "testers";         myRoles[2]= "developers";         HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id,myRoles);      }   }} 				
Untuk memeriksa apakah pengguna dalam peran tertentu dan membatasi akses oleh karena itu, gunakan kode berikut (atau serupa) di halaman .aspx Anda:

Kode Visual Basic .net
If User.IsInRole("managers") Then   Response.Write("You are a Manager")Else If  User.IsInRole("testers") Then   Response.Write("You are a Tester")Else If User.IsInRole("developers") Then   Response.Write("You are a Developer")End if				
Kode Visual C# .net
if (User.IsInRole("managers"))   Response.Write("You are a Manager");else if (User.IsInRole("testers"))   Response.Write("You are a Tester");else if (User.IsInRole("developers"))   Response.Write("You are a Developer");				
Untuk informasi tambahan, klik artikel nomor di bawah ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
306238 CARA: Menerapkan berbasis peran keamanan dengan otentikasi berbasis bentuk di ASP.NET aplikasi dengan menggunakan Visual Basic .net
Untuk informasi lebih lanjut tentang keamanan berbasis peran, lihat untuk topik berikut dalam dokumentasi .NET Framework SDK:
REFERENSI
Untuk informasi tentang ASP.NET keamanan pedoman, lihat kertas putih MSDN berikut:
Otentikasi pada ASP.NET: .net keamanan bimbingan
http://MSDN.Microsoft.com/en-us/library/ms978378.aspx
Untuk lebih banyak informasi umum tentang ASP.NET, merujuk kepada newsgroup MSDN berikut: Untuk informasi tambahan, klik artikel nomor di bawah ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
311094 BUG: Pesan galat "ConfigurationException" ketika menyamar sebagai account baca konfigurasi
306359 PRB: Request.ServerVariables("LOGON_USER") kembali String kosong di ASP.NET
313091 CARA: Membuat tombol tekan dengan menggunakan Visual Basic .net untuk digunakan dalam bentuk-bentuk otentikasi
313116 PRB: Permintaan otentikasi bentuk tidak diarahkan ke loginUrl Halaman
Untuk informasi lebih lanjut, lihat buku-buku berikut:
Reilly, Douglas J. Merancang aplikasi Microsoft ASP.NET. Microsoft Press, 2001.

Esposito, Dino.Bangunan solusi Web dengan ASP.NET dan ADO.NET. Microsoft Press, 2001.

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 306590 - Tinjauan Terakhir: 06/28/2012 09:08:00 - Revisi: 3.0

Microsoft ASP.NET 1.0, Microsoft ASP.NET 1.1

  • kbproductlink kbarttyperoadmap kbconfig kbinfo kbsecurity kbweb kbmt KB306590 KbMtid
Tanggapan
type="text/javascript"> Asimov.clickstreamTracker.init();