Proses dan permintaan identitas di ASP.NET

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

Pada Halaman ini

RINGKASAN

Artikel ini menguraikan hak-hak akses yang diberikan untuk default proses account dan menjelaskan beberapa situasi di mana hak-hak mungkin terlalu ketat untuk tugas-tugas tertentu.

Dalam penginstalan default dari ASP.NET pada Microsoft Windows 2000 dan Microsoft Windows XP, ASP.NET berjalan Web kode aplikasi dalam proses pekerja. Identitas proses ini menggunakan lokal account yang bernama ASPNET account (di mana nama lengkapnya adalah aspnet_wp account) secara default. Dalam rilis beta dari ASP.NET, proses identitas adalah sistem, yang adalah kuat, Administrasi account yang mencakup banyak hak akses pada komputer. Untuk menyediakan instalasi kurang-istimewa default, rilis Versi ASP.NET menggunakan account ASPNET lemah, yang cocok untuk sebagian besar Aplikasi web.

Catatan Secara default, jika Anda menggunakan Microsoft Internet Information Layanan (IIS) 6.0, ASP Anda.NET Web aplikasi akan berjalan dalam keamanan konteks NetworkService account.

INFORMASI LEBIH LANJUT

Mengkonfigurasi identitas proses

Anda dapat mengkonfigurasi identitas proses dalam <processmodel></processmodel> bagian dari Machine.config elemen dari file dalam subdirektori konfigurasi dari direktori root instalasi. The userName dan sandi atribut kontrol identitas proses. Default nilai atribut ini adalah sebagai berikut:
<processModel  userName="machine" password="AutoGenerate" />
				
The mesin dan AutoGenerate nilai-nilai menginstruksikan ASP.NET untuk menggunakan built-in ASPNET account dan menggunakan cryptographically kuat, acak sandi yang disimpan di lokal Keamanan Authority (LSA) untuk account tersebut.

Jika Anda ingin menggunakan proses yang memiliki lebih banyak akses, Anda dapat mengatur userName atribut Sistem, yang menyebabkan ASP.Proses bersih pekerja untuk menjalankan dengan sama identitas sebagai proses Inetinfo.exe. Proses Inetinfo.exe berjalan secara default sebagai identitas sistem. Bila Anda mengkonfigurasi ASP.NET pekerja proses untuk menggunakan Sistem identitas, ASP.NET pekerja proses dapat mengakses hampir semua sumber daya pada komputer lokal. Pada komputer yang menjalankan Windows 2000, Windows XP, atau Microsoft Windows Server 2003, account sistem juga memiliki kredensial jaringan dan dapat mengakses sumber jaringan sebagai mesin account. Untuk mengkonfigurasi proses untuk menjalankan sebagai identitas sistem, mengubah userName atribut di <processmodel></processmodel> bagian sebagai berikut:
<processModel  userName="SYSTEM" password="AutoGenerate" />
				

Izin default untuk ASPNET account

ASPNET account dibuat sebagai account lokal ketika Anda menginstal ASP.NET. ASPNET account hanya milik grup pengguna pada komputer. Oleh karena itu, ASPNET account memiliki semua hak-hak yang berkaitan dengan Pengguna kelompok dan dapat mengakses sumber daya yang diberikan kelompok pengguna akses ke. ASPNET account mewarisi hak-hak pengguna dari pengguna kelompok.
Perkecil tabel iniPerbesar tabel ini
Hak penggunaPenjelasan
SeChangeNotifyPrivilegeBypass melintasi memeriksa.
SeUndockPrivilegeMenghapus komputer dari docking station.
SeInteractiveLogonRightLogon secara lokal.
SeNetworkLogonRightMengakses komputer ini dari jaringan.
Selain untuk hak-hak ini, ASPNET account juga diberikan hak-hak berikut secara default:
Perkecil tabel iniPerbesar tabel ini
Hak penggunaPenjelasan
SeServiceLogonRightLogon sebagai layanan.
SeBatchLogonRightLogon sebagai pekerjaan batch.
SeDenyInteractiveLogonRightMenolak log pada lokal.
ASP.NET hibah izin khusus, akses penuh untuk ASPNET rekening ke folder berikut:
  • Sementara ASP.BERSIH file
  • %Windir%\Temp
Selain itu, ASP.NET hibah izin baca ke Microsoft .NET Framework direktori instalasi.

Berikut daftar menguraikan Kendali Daftar akses (ACL) yang diperlukan untuk ASPNET account. The default instalasi Windows 2000 dan Microsoft.NET Framework termasuk ACLs ini.
  • Lokasi: % installroot%\ASP.NET sementara file
    Jenis akses: Baca/tulis pada folder dan Daftar Folder Isi pada drive folder akar
    Rekening: Proses account dan dikonfigurasi peniruan account
    Deskripsi: Ini adalah lokasi ASP.NET kompilasi dinamis. Di bawah lokasi ini, aplikasi kode yang dihasilkan dalam direktori diskrit untuk masing-masing aplikasi. Anda dapat menggunakan tempDir atribut di <compilation></compilation> bagian untuk mengkonfigurasi root lokasi.

    Catatan Jika Anda mengubah Machine.config elemen dari untuk menyelamatkan ASP.NET sementara file di lokasi yang berbeda, ASPNET account harus memiliki Daftar Konten folder jenis akses pada tingkat akar pengandar.
  • Lokasi: %windir%\temp
    Jenis akses: Baca/tulis
    Rekening: Account proses
    Deskripsi: Ini adalah lokasi Web yang Extensible Markup Language (XML) layanan menggunakan untuk menghasilkan serialisasi proxy.
  • Lokasi: Direktori aplikasi
    Jenis akses: Baca
    Rekening: Proses account dan dikonfigurasi peniruan account
    Deskripsi: Ini adalah lokasi untuk aplikasi konten (hanya membaca akses diperlukan).
    Untuk informasi selengkapnya, kunjungi situs Web Microsoft berikut ini:
    http://msdn2.Microsoft.com/en-us/library/aa302396.aspx
  • Lokasi: Situs Web root (%systemdrive%\inetpub\wwwroot atau jalan yang situs Web standar poin untuk)
    Jenis akses: Baca
    Rekening: Proses account dan dikonfigurasi peniruan account
    Deskripsi: ASP.NET mencoba untuk membaca file konfigurasi dan memantau perubahan didrive: \inetpub\wwwroot\web.config.
  • Lokasi: % installroot % hirarki
    Jenis akses: Baca
    Rekening: Proses account dan dikonfigurasi peniruan account
    Deskripsi: ASP.NET harus dapat mengakses.NET Framework Majelis di Machine.config elemen dari file (dalam subdirektori \Config di bawah % installroot %).
  • Lokasi: %windir%\assembly
    Jenis akses: Baca
    Rekening: Proses account atau dikonfigurasi peniruan account
    Deskripsi: Ini adalah perakitan global cache yang berisi bersama Majelis.
Untuk informasi lebih lanjut tentang standar berbasis ACLs untuk Windows 2000 komputer, lihat "Pengaturan kontrol akses Default Windows 2000" referensi dalam REFERENSI bagian.

Catatan Secara default, ASPNET account umumnya tidak memiliki hak akses yang benar untuk melakukan beberapa tugas yang dijelaskan dalam hal ini artikel.

Mengakses sumber daya

Bagian berikut menjelaskan cara menggunakan berbagai sumber daya. Anda dapat mengakses sumber daya lokal jika Anda mengaktifkan peniruan dan jika Anda memberikan akses account menyamar untuk sumber daya. Namun, peniruan sering tidak bekerja ketika Anda mencoba untuk mengakses sumber daya terpencil kecuali aplikasi menggunakan mekanisme otentikasi yang dapat diserahkan, seperti otentikasi Kerberos atau dasar. Anda juga dapat menggunakan COM + layanan untuk mengakses sumber daya, yang diuraikan dalam Menjalankan kode dengan identitas tetapbagian.

Menggunakan sumber daya file

Pada mengaktifkan aplikasi yang sedang berjalan dengan account ASPNET untuk menulis file, Anda dapat meniru pengguna tertentu dalam kode sebelum writting untuk file, atau Anda dapat memberikan izin untuk ASPNET account. Anda dapat memberikan menulis izin untuk file individu atau hirarki direktori.

Penting Ketika Anda memberikan izin untuk file individu atau untuk hirarki direktori ke account ASPNET, semua ASP.Aplikasi NET Web yang berjalan di bawah ASPNET account pada server juga dapat menulis ini file atau direktori hirarki. Untuk informasi lebih lanjut tentang meniru pengguna tertentu dalam kode, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
306158Bagaimana menerapkan peniruan di ASP.NET aplikasi
Untuk mengubah akses Kontrol daftar file, ikuti langkah berikut:
  1. Buka Windows Explorer.
  2. Pilih berkas atau map yang ingin Anda ubah izin.
  3. Pada Berkas menu, klik Properti.
  4. Klik Keamanan Klik untuk memilih kotak centang untuk ACL tab. izin.
Anda juga dapat menggunakan script atau alat baris perintah Cacls.exe (mana disertakan dengan Windows) untuk mengubah ACL untuk suatu file.

ASP.NET 1.1 penggunaan <drivename></drivename>\Documents dan Settings\<machinename></machinename>\ASPNET folder untuk menyimpan proses file (di mana <drivename></drivename> adalah drive pada komputer Anda di mana ASP.NET diinstal dan <machinename></machinename> nama Anda komputer).

Memungkinkan peniruan

Dengan peniruan, Anda menjalankan dalam konteks keamanan permintaan entitas, sebagai pengguna keasliannya atau seorang pengguna anonim. Dalam ASP.NET, peniruan opsional dan tidak diaktifkan secara default. Untuk mengaktifkan peniruan di tingkat komputer atau aplikasi, menambahkan mengikuti petunjuk konfigurasi di <system.web></system.web> bagian Machine.config elemen dari atau Web.config file:
<identity impersonate="true"/>
				

Menggunakan database

Aplikasi yang menggunakan otentikasi SQL untuk koneksi ke database tidak umumnya terpengaruh oleh beralih ke ASPNET account. Hal ini juga benar untuk aplikasi yang menggunakan otentikasi terpadu dan peniruan. Namun, jika sebuah aplikasi tidak meniru dan menggunakan Windows otentikasi, Anda harus memberikan akses ke database untuk ASPNET rekening.

Anda tidak dapat menggunakan ASPNET account ketika Anda mencoba untuk melakukan otentikasi ke Microsoft SQL Server dengan menggunakan otentikasi Terpadu Windows atas nama pipa. Namun, Anda dapat menggunakan account ASPNET berhasil dengan Windows otentikasi Terpadu atas protokol kontrol transmisi (TCP) transportasi.

Jika sebuah aplikasi harus menggunakan Microsoft Access database, ASPNET account harus mampu menulis ke database file. Administrator harus menyesuaikan file permissions sesuai.

Menggunakan log peristiwa

Aplikasi yang harus menulis ke log peristiwa aplikasi dapat melakukan Jadi sementara mereka berjalan sebagai ASPNET account. Jika sebuah aplikasi harus membuat Kategori log peristiwa baru, aplikasi harus membuat kunci registri di bawah HKEY_LOCAL_MACHINE kumpulan registri, yang ASPNET account tidak.

Pada Buat kategori pada jangka waktu, Anda harus mengaktifkan peniruan, dan kemudian Anda harus meniru account yang memiliki hak akses lebih. Atau, Administrator dapat membuat kategori, dan aplikasi dapat menulis untuk Kategori pada jangka waktu.

Jika aplikasi harus membuat log peristiwa baru Kategori, membuat kategori di instalasi. Setelah Kategori ini dibuat, akun ASPNET dapat menulis untuk acara aplikasi log.

Menggunakan System.DirectoryServices dan Active Directory

Jika aplikasi Web harus mengakses direktori aktif, aplikasi dapat menggunakan peniruan di lingkungan yang mendukung delegasi. Atau, aplikasi dapat menyediakan eksplisit mandat untuk DirectoryEntry konstruktor di System.DirectoryServices namespace untuk mengakses direktori aktif. Jika menggunakan aplikasi eksplisit mandat, aplikasi harus menyimpan kredensial tepat oleh menggunakan teknik seperti COM + konstruksi string atau dengan menggunakan Windows pemrograman aplikasi perlindungan data antarmuka (api).

Menggunakan penghitung kinerja

ASPNET account memiliki izin yang memadai untuk menulis untuk (tetapi tidak untuk membaca) data performa counter. Jika aplikasi harus membaca kinerja Counter data atau membuat kinerja counter kategori, Administrator atau kekuatan Izin pengguna diperlukan.

Jika sebuah aplikasi harus membuat baru kinerja counter kategori, membuat kategori di instalasi. Setelah Kategori dibuat, akun ASPNET dapat menulis untuk Counter.

Anda masih dapat menggunakan alat Monitor kinerja (Perfmon.exe) untuk memonitor ASP.Penghitung kinerja bersih ketika Anda menggunakan ASPNET rekening.

Pada Windows 2000, ikuti langkah berikut:
  1. Jalankan Registry Editor.
  2. Temukan kunci registri berikut:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASP.NET_1.1.4322\Names
  3. Klik tab keamanan.
  4. Tambahkan pekerja proses identitas dengan berikut hak akses:
    • Permintaan nilai
    • Nilai ditetapkan
    • Menciptakan subkunci
    • Menghitung subkunci
    • Memberitahu baca kontrol
Pada Windows Server 2003, menambah identitas IIS_WPG kelompok.

Mulai keluar dari proses COM server

Aplikasi yang harus mulai keluar dari proses COM server sementara berjalan seperti ASPNET account khusus dapat berikan izin pada peluncuran account dengan menggunakan alat Dcomcnfg.exe.

Debugging masalah

Secara default, Anda tidak dapat masuk ke layanan XML Web panggilan dari aplikasi klien. Untuk masuk ke layanan XML Web, Anda harus menambahkan ASPNET account untuk grup Debugger pengguna di komputer di mana layanan XML Web berjalan.

Menjalankan kode dengan identitas tetap

Dalam COM + layanan, Anda dapat menjalankan kode dengan identitas tetap. Kamu bisa menggunakan ServicedComponent kelas System.EnterpriseServices namespace untuk menulis kode dikelola komponen yang menggunakan COM + layanan. Anda dapat membungkus fungsi istimewa di kelas yang berasal dari ServicedComponent dan kemudian menjalankan kelas ini sebagai COM + aplikasi server dengan dikonfigurasi identitas.

Kompilasi kode-belakang file pada UNC saham

Di ASP.NET, Anda dapat menggunakan beberapa metode untuk mengembangkan aplikasi file:
  • Anda dapat menggunakan Hypertext Markup Language (HTML) di .aspx file, dan kemudian Anda dapat menyimpan kode untuk laman di Majelis precompiled di direktori Bin. Ini adalah Microsoft Visual Studio.NET model.
  • Anda dapat paket semua kode dan konten HTML dalam satu sumber file yang disusun pada permintaan.
  • Anda dapat menempatkan HTML presentasi di ASP.NET file, dan kemudian Anda dapat secara dinamis mengkompilasi kode sumber terkait untuk file oleh menggunakan src atribut di <%@ Assembly %> petunjuk.
Catatan Jika aplikasi konten terletak pada jaringan berbagi, kompiler dimulai di ASPNET account dan tidak memiliki kredensial jaringan untuk mengakses file. Jika Anda menggunakan jaringan yang digunakan bersama, Anda tidak dapat menggunakan src atribut untuk menunjuk ke sebuah file. Anda harus menggunakan salah satu dari yang lain metode sebaliknya.

Menggunakan ASP.NET pada dasar atau kontroler backup domain


Secara default, jika Anda menggunakan ASP.NET 1.1 pada domain controller, ASP Anda.NET Web aplikasi akan berjalan dalam konteks keamanan IWAM_<computername></computername> account (di mana <computername></computername> adalah nama komputer Anda).

Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
315158MEMPERBAIKI: ASP.NET tidak bekerja dengan ASPNET account default pada kontroler domain
kembali ke atas

Membaca IIS metabase

ASPNET account tidak dapat membaca informasi Internet Microsoft Layanan metabase (IIS). Jika sebuah aplikasi harus mengakses metabase pengaturan, Anda selektif dapat memberikan akses baca untuk metabase node dengan menggunakan Metaacl.exe utilitas.

Jika sebuah aplikasi harus menggunakan file .disco, yang bergantung pada kemampuan untuk membaca IIS metabase untuk menyediakan layanan pencarian, Anda harus memberikan Membaca akses ke metabase untuk ASPNET account.

Menggunakan System.Management dan WMI

Instrumentasi manajemen Windows (WMI) adalah yang kuat, fungsi administratif yang dapat Anda gunakan untuk mengelola dan memantau Komputer berbasis Windows. Namun, ketika ASP.NET aplikasi berjalan di bawah ASPNET account, account ini hanya memiliki izin akses standar yang sama sebagai Semua orang. Izin ini termasuk membaca WMI data, menulis penyedia data, dan metode untuk penyedia pada komputer lokal. Informasi selengkapnya tentang WMI mekanisme keamanan dapat ditemukan di WMI Platform SDK dokumentasi atau di MSDN.

Catatan Pada Windows 2000 tanpa service pack 3 (SP3) atau kemudian, atau di Windows XP tanpa layanan paket 1 (SP1) atau yang lebih baru, ASP.Aplikasi NET Web yang Jalankan di bawah ASPNET rekening mungkin tidak bekerja, dan Anda akan menerima "akses Ditolak (0x80041003) "pesan galat. Hal ini terjadi karena account tidak memiliki cukup hak untuk mengakses namespaces WMI tertentu. Untuk mengatasi masalah, menginstal Windows XP SP1 atau kemudian, atau Windows 2000 SP3 atau kemudian. Untuk bekerja di sekitar masalah, ikuti langkah berikut:
  1. Buka manajemen komputer Microsoft Management Console () Snap-in MMC.
  2. Memperluas Layanan dan aplikasi, kemudian pilih Kontrol WMI.
  3. Klik kanan Kontrol WMI, lalu klik Properti.
  4. Dalam Kontrol WMI properti kotak dialog, klik Keamanan tab.
  5. Memperluas Root, pilih CIMV2, lalu klik Keamanan.
  6. Dalam Keamanan kotak dialog, klik Lanjutan.
  7. Dalam Pengaturan kontrol akses kotak dialog, klik Tambahkan. Pilih localMachineName\ASPNET, lalu klik Oke.
  8. Dalam Izin masuk kotak dialog, pastikan Menerapkan ke diatur ke Ini namespace dan subnamespaces.
  9. Pastikan bahwa Memungkinkan 'Aktifkan Account' dan Memungkinkan 'Aktifkan Remote' kotak centang dipilih.
  10. Klik Oke dalam setiap kotak dialog sampai Anda kembali ke Kontrol WMI properti kotak dialog.
  11. Ulangi langkah 5 melalui 10 untuk namespaces WMI lain yang aplikasi Anda akan mengakses.
  12. Restart IIS. Untuk melakukan ini, jalankanIISRESET dari baris perintah.
Secara default, ASP.NET menghasilkan cryptographically kuat sandi untuk ASPNET account. Oleh karena itu, solusi ini aman disediakan bahwa sandi account ASPNET tidak dibagi antara komputer atau me-reset nilai selain default.

Berinteraksi dengan desktop

Ketika layanan IIS dikonfigurasi untuk memungkinkan interaksi dengan desktop, ASPNET account tidak memiliki hak-hak yang benar untuk mengakses desktop karena dari Discretionary akses kontrol daftar (DACLs) pada default jendela stasiun dan desktop. Administrator dapat mengubah ini DACLs, atau Anda dapat menjalankan proses dengan account yang memiliki izin untuk mengakses ini objek.

Menghapus ASP.NET

Ketika Anda menghapus ASP.NET, ASPNET account dimatikan dan tetap pada sistem. Anda dapat menghapus ASPNET account jika Anda tidak berniat untuk menginstal ulang ASP.NET.

Jika Anda menginstal ulang ASP.BERSIH setelah Anda secara eksplisit menghapus ASPNET account, account ASPNET baru akan dibuat yang baru Security identifier (SID). Sebagai hasilnya, ACLs apapun yang disebut sebelumnya ASPNET account tidak lagi berlaku untuk account ASPNET baru.

Menggunakan Windows Server 2003

ASP.NET 1.1 menggunakan <drivename></drivename>\Documents and Settings\<machinename></machinename>\ASPNET folder untuk menyimpan file proses. Namun, dalam IIS 6.0 dan ASP.NET SP1, Anda dapat melihat file-file ini di <drivename></drivename>: \Documents and Settings\Default User\Local Settings\Application Data folder. Jalan tampak perubahan.

Catatan<drivename></drivename> adalah pengandar di komputer Anda di mana ASP.NET diinstal. <machinename></machinename> adalah nama komputer Anda.

Profil pengguna default digunakan dalam Windows Server 2003. Dalam kasus ini, default identitas adalah NetworkService. Anda dapat mengkonfigurasi NetworkService di kolam renang aplikasi tingkat. NetworkService memiliki izin yang mirip dengan ASPNET rekening. Windows Server hanya menggunakan ASPNET account untuk IIS 5.0 Isolasi modus. Jika Anda menggunakan modus pekerja proses isolasi, semua ASP.NET aplikasi berjalan dalam proses pekerja IIS W3wp.exe.

REFERENSI

Untuk informasi lebih lanjut tentang standar akses kontrol daftar pada Windows 2000, melihat kertas putih Microsoft berikut:
http://technet.Microsoft.com/en-us/library/bb742509.aspx
Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
329290Cara menggunakan ASP.NET utilitas untuk mengenkripsi kredensial dan sesi negara koneksi string
315158 MEMPERBAIKI: ASP.NET tidak bekerja dengan default ASPNET account pada domain controller

Properti

ID Artikel: 317012 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Kata kunci: 
kbconfig kbhttpruntime kbinfo kbsecurity kbmt KB317012 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:317012

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