Bagaimana untuk mengamankan ASP.NET aplikasi dengan menggunakan Windows keamanan

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 315736 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

ASP.NET dapat digunakan bersama-sama dengan Microsoft Internet Information Services (IIS) untuk mengotentikasi pengguna Web yang didasarkan pada Microsoft mereka Windows 2000 atau Windows Server 2003 kredensial account pengguna. ASP.NET eksekusi mesin juga dapat dikonfigurasi meniru pengguna Web atau menggunakan identitas Windows sendiri ketika itu mengakses sumber daya seperti database atau file.


Persyaratan

Anda memerlukan perangkat keras, perangkat lunak, dan berikut jaringan infrastruktur untuk melakukan prosedur dalam artikel ini:
  • Windows 2000 Server Service Pack 2
  • IIS 5.0
  • Windows Server 2003 dengan IIS 6.0
  • Microsoft Internet Explorer 6.0
  • Microsoft Visual Studio.NET
Anda juga perlu pengalaman dengan berikut:
  • ASP.Pembangunan bersih dengan Visual Basic.NET
  • IIS administrasi
  • Administrasi account pengguna Windows 2000

Bagaimana untuk mengembangkan situs Web

Dalam prosedur ini, Anda akan menciptakan ASP sederhana.NET Web aplikasi yang akan dijamin dengan menggunakan Windows otentikasi.
  1. Mulai Visual Studio.NET, dan kemudian membuat Visual baru Dasar ASP.Aplikasi NET Web yang bernama "WindowsSite."
  2. Tarik kontrol label dari toolbox ke WebForm1.aspx Web formulir, dan kemudian menetapkan properti IDauthUserPrincipalLabel.
  3. Tarik kontrol label kedua dari peralatan ke WebForm1.aspx Web formulir, dan kemudian menetapkan properti IDaspPrincipalLabel.
  4. Klik dua kali WebForm1.aspx untuk melihat jendela kode, dan kemudian tambahkan berikut Impor pernyataan di atas Deklarasi kelas:
    Imports System.Security
    						
    Tambahkan kode berikut Page_Load acara prosedur:
    Dim authUserName As String
    Dim aspUserName As String
    authUserName = User.Identity.Name
    aspUserName = Principal.WindowsIdentity.GetCurrent.Name
    authUserPrincipalLabel.Text = "You are: " & authUserName
    aspPrincipalLabel.Text = "This page runs as: " & aspUserName
    					
  5. Melihat file Web.config proyek, dan kemudian cariotentikasi elemen. Memverifikasi bahwa mode atribut memiliki nilai Windows.
  6. Membangun dan menyimpan proyek.
  7. Menjalankan proyek, dan kemudian mengkonfirmasi bahwa halaman ditampilkan dengan pesan berikut:
    • Dalam Windows 2000
      Anda adalah:
      Halaman ini berjalan sebagai: DomainOrServer\ASPNET
    • Dalam Windows Server 2003
      Anda adalah:
      Halaman ini berjalan sebagai: DomainOrServer\NETWORK LAYANAN
    Catatan Nama pengguna tidak ditampilkan karena Anda belum dikonfirmasi oleh IIS; akses anonim masih diaktifkan.
  8. Keluar Internet Explorer untuk menghentikan proyek.

Cara menonaktifkan akses anonim

Dalam prosedur ini, Anda akan mengkonfigurasi IIS untuk meminta Terintegrasi Windows otentikasi untuk situs WindowsSite.
  1. Meminimalkan Visual Studio, dan kemudian mulai layanan Internet Manajer dari kelompok program Administrative Tools.
  2. Memperluas server Anda dan situs Web standar, klik kanan The WindowsSite situs, dan kemudian klik Properti.
  3. Pada Direktori keamanan tab di WindowsSite properti kotak dialog, klik Mengedit tombol "anonim akses dan otentikasi mengendalikan" bagian.
  4. Klik untuk menghapus Akses anonim Periksa kotak, pastikan Terpadu Windows otentikasi Periksa kotak yang dipilih, dan kemudian klik Oke.
  5. Klik Oke untuk menutup WindowsSite properti kotak dialog.
  6. Beralih kembali ke Visual Studio, dan kemudian menjalankan proyek. Mengkonfirmasi bahwa halaman ditampilkan dengan pesan berikut:
    • Dalam Windows 2000
      Anda adalah: Nama pengguna Windows
      Halaman ini berjalan sebagai: DomainOrServer\ASPNET
    • Dalam Windows Server 2003
      Anda adalah: Nama pengguna Windows
      Halaman ini berjalan sebagai: DomainOrServer\NETWORK LAYANAN
    Catatan Anda telah dikonfirmasi melalui account Windows Anda. Jika Anda telah tidak telah logon ke Windows, Anda akan diminta untuk Windows nama pengguna dan sandi.
  7. Keluar Internet Explorer untuk menghentikan proyek.

Pengesahan

Di ASP.NET, dimungkinkan untuk memungkinkan otorisasi untuk aplikasi ketika Anda membuat pengaturan tambahan yang tersedia dalam Web.config file. Anda dapat mengizinkan pengguna tertentu atau kelompok tertentu akses ke ini tambahan pengaturan. Contoh berikut menggambarkan kemampuan ini. Untuk membolehkan akses ke semua pengguna yang ditemukan pada Windows NT kelompok yang disebut "Manajer," menggunakan kode berikut:
<configuration>
     <system.web>
       <authorization>
         <allow roles="domainname\Managers" />
         <deny users="*" />
       </authorization>
     </system.web>
   </configuration>
				
Untuk membolehkan akses ke hanya pengguna tertentu, gunakan kode berikut:
<configuration>
     <system.web>
       <authorization>
         <allow users="domainname\user1,domainname\user2,domainname\user3" />
         <deny users="*" />
       </authorization>
     </system.web>
   </configuration>
				
Catatan Anda dapat referensi beberapa peran atau pengguna bila Anda menggunakan dipisahkan dengan koma daftar.


Cara mengaktifkan peniruan

Dalam prosedur ini, Anda akan mengkonfigurasi aplikasi WindowsSite untuk menyamar sebagai pengguna Windows yang mengakses itu.
  1. Dalam Visual Studio, melihat file Web.config untuk WindowsSite proyek.
  2. Menambahkan unsur berikut setelahotentikasi elemen:
    <identity impersonate = "true" />
    					
  3. Simpan Web.config.
  4. Menjalankan proyek. Mengkonfirmasi bahwa halaman ditampilkan dengan pesan berikut (Perhatikan bahwa ASP.NET eksekusi mesin akan menggunakan Anda Windows identitasnya untuk mengakses sumber daya atas nama Anda):
    Anda adalah: Nama pengguna Windows
    Halaman ini berjalan sebagai: Nama pengguna Windows
  5. Keluar Internet Explorer untuk menghentikan proyek.

Cara untuk menetapkan Custom kepala sekolah

Dalam prosedur ini, Anda akan mengkonfigurasi aplikasi WindowsSite menggunakan kepala keamanan kustom:
  1. Mulai fitur manajemen komputer dari Alat administratif kelompok program. Membuat account pengguna baru Windows 2000 bernama "WindowsSite," dengan sandi "password" (perhatikan apakah server Anda kontroler domain, dan kemudian menggunakan direktori pengguna dan komputer Active alat).
  2. Klik untuk menghapus Pengguna harus mengubah sandi pada logon berikutnya kotak centang.Catatan Kepala sekolah kustom yang Anda pilih harus memiliki izin yang diuraikan dalam artikel Basis Pengetahuan berikut:
    317012 INFO: Proses dan permintaan identitas di ASP.NET
  3. Ketika WindowsSite account telah dibuat, menutup alat administratif yang digunakan untuk membuat itu.
  4. Dalam Visual Studio, melihat file Web.config untuk WindowsSite proyek.
  5. Mengedit identitas elemen membaca sebagai berikut:
    identity impersonate = "true"
           userName = "DomainOrServerName\WindowsSite"
           password = "password"/>
    
    di mana DomainOrServerName adalah nama baik Windows 2000 atau Windows Server 2003 domain (di lingkungan domain) atau dari komputer Anda (di kelompok kerja lingkungan).
  6. Simpan Web.config.
  7. Menjalankan proyek. Mengkonfirmasi bahwa halaman ditampilkan dengan pesan berikut:
    Anda adalah: Nama pengguna Windows
    Halaman ini berjalan sebagai: DomainOrServerName\WindowsSite
    Catatan Aspnet_wp.exe akan menggunakan Windows kredensial yang Anda ditetapkan untuk mengakses sumber atas nama Anda.
  8. Keluar Internet Explorer untuk menghentikan proyek.
Catatan Identitas dari proses yang impersonates pengguna tertentu pada thread harus Bertindak sebagai bagian dari sistem operasi hak istimewa.
  • Pada Windows 2000, oleh default, proses Aspnet_wp.exe yang berjalan di bawah account komputer yang bernama ASPNET.
  • Pada Windows Server 2003, secara default, proses Aspnet_wp.exe berjalan di bawah account komputer yang bernama NetworkService. Namun, akun ini tidak memiliki hak benar untuk meniru pengguna tertentu. Anda menerima pesan kesalahan jika Anda mencoba untuk meniru pengguna tertentu.
Untuk mengatasi masalah ini, gunakan salah satu dari berikut metode:
  • Grant Bertindak sebagai bagian dari sistem operasihak istimewa untuk ASPNET account (rekening paling tidak istimewa).

    Catatan Meskipun Anda dapat menggunakan metode ini untuk bekerja di sekitar masalah, Microsoft tidak menganjurkan metode ini.
  • Mengubah account yang menjalankan proses Aspnet_wp.exe di bawah sistem account di bagian konfigurasi <processmodel> Machine.config elemen dari file.</processmodel>
Untuk informasi lebih lanjut tentang proses ASPNET, kunjungi situs Web Microsoft Developer Network (MSDN) berikut:
.aspx http://msdn2.Microsoft.com/en-us/library/aa291339 (VS.71)

Pemecahan Masalah

Windows keamanan di ASP.Situs NET Web dapat lebih ditingkatkan (dan rumit) dengan menggunakan NTFS file permissions. Jika Windows account tidak memiliki izin untuk membaca ASP.Halaman NET Web, IIS akan meminta Anda untuk kredensial Windows alternatif. Demikian pula, jika ASP.Halaman bersih cuba mengakses file yang kepala keamanan digunakan oleh ASP.NET eksekusi mesin tidak memiliki akses ke, Anda akan diminta untuk kredensial alternatif. NTFS izin adalah cara yang efektif untuk mengontrol akses ke subbagian web situs.

REFERENSI

Untuk informasi lebih lanjut tentang menggunakan Windows otentikasi di ASP.NET situs Web, lihat ASP.NET Web Aplikasi "Keamanan" topik di .NET Framework dokumentasi.

Juga, lihat "otentikasi di ASP.NET:."Bersih keamanan bimbingan artikel di situs Website MSDN berikut:
http://msdn2.Microsoft.com/en-us/library/ms978378.aspx

Properti

ID Artikel: 315736 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
  • Microsoft Internet Information Services 6.0
Kata kunci: 
kbconfig kbhowtomaster kbinfo kbsecurity kbweb kbmt KB315736 KbMtid
Penerjemahan Mesin
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:315736

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com