Kami baru-baru ini meningkatkan ke IIS7 sebagai server web inti dan saya perlu tinjauan umum dalam hal izin. Sebelumnya, ketika perlu menulis ke sistem file, saya harus memberi pengguna AppPool (Layanan Jaringan) ke direktori atau file.
Di IIS7 saya melihat, sebagai default, pengguna AppPool diatur ke ApplicationPoolIdentity
. Jadi ketika saya memeriksa task-manager, saya melihat bahwa akun pengguna yang disebut 'WebSite.com' menjalankan Proses IIS ('Website.com' menjadi nama situs web di IIS)
Namun akun pengguna ini tidak ada jika saya mencoba menggunakannya untuk memberikan izin. Jadi, bagaimana cara saya menentukan pengguna mana yang memberikan izin juga?
Sunting ================================================= =============================
Lihat di bawah untuk masalah dalam cuplikan layar. Situs web kami (www.silverchip.co.uk) beroperasi dengan nama pengguna SilverChip.co.uk. Namun ketika saya menambahkan pemutusan, pengguna ini tidak ada!
================================= Lihat Gambar AppPool
sumber
Jawaban:
ApplicationPoolIdentity sebenarnya adalah praktik terbaik untuk digunakan di IIS7 +. Ini adalah akun yang dibuat secara dinamis, tidak terprivatisasi. Untuk menambahkan keamanan sistem file untuk kumpulan aplikasi tertentu, lihat "Application Pool Identities" IIS.net . Versi cepat:
Jika kumpulan aplikasi bernama "DefaultAppPool" (cukup ganti teks ini di bawah jika namanya berbeda)
sumber
IIS AppPool\silverchip.co.uk
. Saya belum pernah mencoba periode dengan nama keamanan - Anda mungkin ingin mengubahnya menjadi sesuatu tanpa tanda baca.enable load user profile
ketrue
dalam pengaturan kumpulan aplikasi. Dan hanya setelah pengaturan ini saya dapat menjalankan aplikasi. Jadi tolong perbarui instruksi Anda dan tambahkan poin ke-9.Ingatlah untuk menggunakan nama lokal server, bukan nama domain, saat menyelesaikan nama
(hanya pengingat karena ini membuatku tersandung sebentar):
sumber
Memberikan akses ke IIS AppPool \ YourAppPoolName pengguna mungkin tidak cukup dengan konfigurasi standar IIS.
Dalam kasus saya, saya masih memiliki kesalahan HTTP Error 401.3 - Tidak sah setelah menambahkan pengguna AppPool dan itu diperbaiki hanya setelah menambahkan izin ke pengguna IUSR .
Ini diperlukan karena, secara default, akses Anonim dilakukan menggunakan IUSR . Anda dapat mengatur pengguna spesifik lain, Application Pool atau terus menggunakan IUSR, tetapi jangan lupa untuk mengatur izin yang sesuai.
Penghargaan untuk jawaban ini: Kesalahan HTTP 401.3 - Tidak sah
sumber
Pada Windows Server 2008 (r2) Anda tidak dapat menetapkan identitas kumpulan aplikasi ke folder melalui Properties-> Security. Anda dapat melakukannya melalui prompt perintah admin menggunakan berikut ini:
sumber
Bagian A: Mengonfigurasi Kumpulan Aplikasi Anda
Misalkan Pool Aplikasi bernama 'MyPool' Buka 'Pengaturan Lanjut' dari Pool Aplikasi dari Manajer IIS
Gulir ke bawah ke 'Identity'. Mencoba mengedit nilai akan memunculkan kotak dialog. Pilih 'Akun bawaan' dan di bawahnya, pilih 'ApplicationPoolIdentity'.
Beberapa baris di bawah 'Identity', Anda akan menemukan 'Load User Profile'. Nilai ini harus ditetapkan ke 'Benar'.
Bagian B: Mengonfigurasi situs web Anda
Bagian C: Mengonfigurasi folder Anda
Folder yang dimaksud adalah C: \ Apapun
Anda sekarang harus dapat menggunakan menelusuri situs web
sumber
Jawaban teratas dari Jon Adams
Inilah cara mengimplementasikan ini untuk orang-orang PowerShell
sumber
Hanya untuk menambah kebingungan, dialog Izin Efektif (Windows Explorer) tidak berfungsi untuk login ini. Saya memiliki situs "Umbo4" menggunakan otentikasi pass-through, dan melihat Izin Efektif pengguna di folder root situs. Tes Periksa Nama menyelesaikan nama "IIS AppPool \ Umbo4", tetapi Izin Efektif menunjukkan bahwa pengguna tidak memiliki izin sama sekali pada folder (semua kotak centang tidak dicentang).
Saya kemudian mengecualikan pengguna ini dari folder secara eksplisit, menggunakan tab Explorer Security. Ini mengakibatkan situs gagal dengan kesalahan HTTP 500.19, seperti yang diharapkan. Namun Izin Efektif tampak persis seperti sebelumnya.
sumber
Saya memperbaiki semua masalah asp.net saya hanya dengan membuat pengguna baru bernama IUSER dengan kata sandi dan menambahkannya Layanan Jaringan dan Grup Pengguna. Kemudian buat semua situs virtual Anda dan aplikasi atur otentikasi ke IUSER dengan kata sandinya .. atur akses file tingkat tinggi untuk menyertakan IUSER dan BAM, perbaiki setidaknya 3-4 masalah termasuk yang ini ..
Dave
sumber