Izin folder IIS7 untuk aplikasi web

91

Saya menggunakan otentikasi windows tanpa peniruan di situs web intranet perusahaan saya dengan IIS7.

Di bawah IIS7, akun apa yang digunakan untuk mengakses folder yang berisi aplikasi web saya menggunakan pengaturan ini?

Apakah itu IIS_IUSRS? Atau LAYANAN JARINGAN? Atau hal lain yang tidak saya ketahui?

Andrew
sumber

Jawaban:

127

Di IIS 7 (bukan IIS 7.5), situs mengakses file dan folder berdasarkan akun yang ditetapkan di pool aplikasi untuk situs tersebut. Secara default, di IIS7, akun ini adalah NETWORK SERVICE.

Tentukan Identitas untuk Application Pool (IIS 7)

Di IIS 7.5 (Windows 2008 R2 dan Windows 7), kumpulan aplikasi berjalan di bawah ApplicationPoolIdentity yang dibuat saat kumpulan aplikasi dimulai. Jika Anda ingin mengatur ACLS untuk akun ini, Anda harus memilih IIS AppPool\ApplicationPoolNamebukan NT Authority\Network Service.

Thomas
sumber
35
Perhatikan bahwa ini tidak secara harfiah IIS AppPool\ApplicationPoolName, tetapi IIS AppPool\<yourpoolname>.
Jeff S
21
Di IIS 7.5, Identitas default untuk Application Pool adalah ApplicationPoolIdentity. ApplicationPoolIdentity mewakili akun pengguna Windows yang disebut "IIS APPPOOL \ AppPoolName", yang dibuat saat Application Pool dibuat, di mana AppPoolName adalah nama Application Pool. Pengguna "IIS APPPOOL \ [AppPoolName]" secara default adalah anggota grup IIS_IUSRS. Jadi, Anda perlu memberikan akses tulis ke grup
IIS_IUSRS
Orang-orang di versi Windows yang lebih baru mungkin menganggap artikel ini berguna untuk mengkonfigurasi akun 'AppPool \ DefaultAppPool' jika mereka memiliki masalah yang sama: iis.net/learn/manage/configuring-security/… . Ini juga membantu menghindari kesalahan yang saya dapatkan setelah memperbarui dari Windows 8 ke 8.1, di mana dikatakan: "Terjadi kesalahan saat memuat file konfigurasi: Gagal memulai pemantauan perubahan ke [jalur file lengkap] karena akses ditolak.".
Matty J
Saya telah memberikan izin penuh ke Application Pool .. tetapi masih mendapatkan akses yang ditolak.
Yousi
26

http://forums.iis.net/t/1187650.aspx memiliki jawabannya. Mengatur otentikasi iis ke identitas kumpulan aplikasi akan menyelesaikan ini.

Di IIS Authentication, Anonymous Authentication ditetapkan ke "Pengguna Tertentu". Ketika saya mengubahnya menjadi Application Pool, saya dapat mengakses situs tersebut.

Untuk mengatur, klik situs web Anda di IIS dan klik dua kali "Otentikasi". Klik kanan pada "Anonymous Authentication" dan klik opsi "Edit ...". Beralih dari "Pengguna Tertentu" ke "Identitas kumpulan aplikasi". Sekarang Anda seharusnya dapat mengatur izin file dan folder menggunakan IIS AppPool \ {Nama Pool Aplikasi Anda}.

Nat
sumber
3
Ini sangat membantu. Jika Anda tidak mengubah Autentikasi Anonim dari "Pengguna Tertentu" menjadi "Identitas kumpulan aplikasi", perubahan izin Anda tidak akan terlihat saat menyetel izin IIS AppPool \ {Nama Kumpulan Aplikasi Anda}.
David
YA TUHAN. Sepertinya tidak ada yang mengambil ini. Ini hanya menyelesaikan penggalian selama berjam-jam.
Joe Swindell
19

Menjalankan IIS 7.5, saya beruntung menambahkan izin untuk pengguna komputer lokal IUSR . Pengguna kumpulan aplikasi tidak bekerja.

Kenny Evitt
sumber
18

Jika itu membantu siapa pun, berikan izin kepada grup "IIS_IUSRS".

Perhatikan bahwa jika Anda tidak dapat menemukan "IIS_IUSRS", coba buat sebelumnya dengan nama server Anda, seperti "MySexyServer \ IIS_IUSRS".

JohnnyFun
sumber
Ini berhasil untuk saya. Saya kehilangan nama server dan belum melihat siapa pun yang menyebutkannya.
drichards pada
Untuk itu Anda selalu dapat menggunakan notasi lokal ". \ IIS_IUSRS"
Bernhard
3

Bekerja untuk saya dalam 30 detik, singkat dan manis:

  1. Di Manajer IIS (jalankan inetmgr)
  2. Buka ApplicationPool -> Pengaturan Lanjutan
  3. Setel ApplicationPoolIdentity ke NetworkService
  4. Buka file, klik kanan properti, buka keamanan, klik edit, klik tambah, masukkan Layanan Jaringan (dengan spasi, lalu klik 'periksa nama'), dan berikan kontrol penuh (atau hanya izin apa pun yang Anda butuhkan)
Jason Hitchings
sumber
Berhasil! Terima kasih
Yazan Khalaileh
1
  1. Bekerja pada IIS 7.5 dan Windows 7 saya tidak bisa memberikan izin APPPOOL / Mypool
  2. Izin IUSR dan IIS_IUSRS tidak berfungsi untuk saya
  3. Saya mendapat masalah seperti ini:

    -Membuat aplikasi konsol dengan C #
    -Aplikasi ini menggunakan createeventsource seperti ini

    jika (! System.Diagnostics.EventLog.SourceExists (sourceName)) System.Diagnostics.EventLog.CreateEventSource (sourceName, logName);

    -Bangun solusi dan dapatkan file .exe

    -Jalankan exe sebagai administrator. Ini membuat file log.

CATATAN: Jangan ingat Event viewer harus di-refresh untuk melihat log.

Saya harap solusi ini membantu seseorang :)

Alper Tunga Arslan
sumber