pengembangan-web-mp.com

IIS 7.5 (Windows 7) - Kesalahan HTTP 401.3 - Tidak sah

Saya mencoba menguji situs web ASP.Net saya di localhost dan saya mendapatkan kesalahan ini:

HTTP Error 401.3 - Unauthorized
You do not have permission to view this directory or page because of
the access control list (ACL) configuration or encryption settings for
this resource on the Web server.

Saya memiliki pengguna berikut di folder aplikasi situs web, dengan izin baca/tulis lengkap:

  • LAYANAN JARINGAN
  • IIS_IUSRS
  • SISTEM
  • Administrator
  • Nathan (saya)

Apa yang bisa saya coba untuk memperbaikinya?

82
Nathan Ridley

IIS 7 juga menciptakan "IUSR" sebagai pengguna default untuk mengakses file melalui IIS. Sehingga membuat pengguna IUSR memiliki akses baca ke file/folder.

Bagaimana cara memeriksa apakah IUSR telah membaca Access? Klik Kanan -> Folder -> Properti -> Tab Keamanan Lihat apakah IUSR ada dalam daftar Grup atau nama pengguna, Jika Tidak.

Klik Edit -> Tambah -> Tingkat Lanjut -> Temukan Sekarang -> Pilih IUSR dan klik OK empat kali

124
Ejaz

Menemukan ini di forum lain, jadi saya tidak dapat mengambil kredit tetapi saya berhasil dan itu berhasil untuk saya:

"Coba ubah pengaturan otentikasi Anonim di IIS7:

Klik Otentikasi dan klik edit setelah memilih Otentikasi Anonim. Di jendela pembukaan pilih identitas Pool Aplikasi dan klik OK. "

33
Stryder

Saya memiliki masalah yang sama di IIS 7.5 pada Windows Server 2008. Bagi saya, langkah-langkah berikut berfungsi untuk memperbaiki masalah ini:

  • Buka IIS Manajer
  • Klik situs web yang ingin Anda edit
  • Klik dua kali Otentikasi
  • Klik Otentikasi Anonim, lalu klik Edit ... di bawah Tindakan
  • Ubah untuk menggunakan Identitas kumpulan aplikasi kredensial alih-alih pengguna Khusus (milik saya adalah IUSR)

Setelah saya melakukan perubahan ini, kesalahan 401.3 saya hilang.

22
Mark

Apakah Anda menggunakan mekanisme login, atau hanya otentikasi anonim?

Jika anonim, masuk ke IIS manajer, di ikon Otentikasi, pilih nama Autentikasi Anonim, lalu klik tombol Edit dalam Tindakan. Periksa pengguna yang ditentukan di sana dan pastikan memiliki izin ke file/folder situs.

Jika Anda memiliki beberapa bentuk sistem login, pastikan bahwa pengguna yang Anda masuki memiliki izin untuk file-file untuk situs tersebut, dan pastikan bahwa ID kumpulan aplikasi yang Anda jalankan setidaknya memiliki akses baca ke file.

10
MattB

Hai Bagi Saya di IIS 8 berfungsi: 1) Lanjutkan IIS direktori virtual - 2) otentikasi - 3) Otentikasi anonim - 4) set Application Pool Identity.

3
Alex

Secara default, dengan IIS 7.5, masing-masing Application Pool berjalan di bawah "identitas virtual" sendiri. Identitas App Pool adalah kredensial yang digunakan untuk mengakses sistem file.

Saya tidak yakin dengan mekanisme itu, tetapi Microsoft melakukan ini untuk meningkatkan keamanan pemasangan default sambil mengurangi kebutuhan untuk membuat akun layanan dalam skenario pemasangan tertentu. Apa pun yang terjadi, Anda harus mengidentifikasi akun "identitas virtual" ini dan memberikannya akses ke direktori Anda, atau mengubah akun layanan App Pool.

Identitas virtual App Pool dinamai "IIS AppPool \", jadi jika Anda menggunakan DefaultAppPool, identitasnya adalah "IIS AppPool\DefaultAppPool".

Lihat ini artikel untuk detail lebih lengkap.

3
ntcolonel

Menjawab untuk memasukkan info dari komentar pada jawaban yang diterima.

Dalam IIS 7.5 pada Windows Server 2008r2, grup IIS_IUSRS sudah termasuk, tetapi grup IUSR yang terpisah masih harus ditambahkan ke izin untuk memungkinkan akses/download file.

Untuk informasi lebih lanjut tentang perbedaan dalam akun, lihat Memahami Pengguna yang Terpasang dan Akun Grup di IIS.

2
Chris Pickering

Karena tidak ada jawaban di atas yang membantu saya, saya pikir saya akan membagikan bagaimana saya memecahkan masalah ini ketika saya menabraknya di mesin lokal saya yang menjalankan win7 dan IIS7.

  • Pergi ke IIS7 -> Aplikasi Pool

    Temukan kumpulan aplikasi situs Anda (dalam kasus saya DefaultAppPool), klik kanan dan pilih Opsi Lanjutan.

    Temukan bab Model Proses dan ubah field Identity ke pengguna yang Anda kenal pasti memiliki akses ke file di folder situs web Anda (dalam kasus saya admin lokal)

2

Untuk pengguna yang tidak cukup:

Saya berhasil dengan ini:

  • Buka Tampilan Fitur situs web Anda.
  • Pergi ke Pemetaan Handler.
  • Temukan jalur untuk .cshtml
  • Klik Kanan dan Klik Edit Izin Fitur
  • Pilih Jalankan
  • Tekan OK.

Sekarang coba segarkan situs web Anda.

1
nixkuroi

Coba ini ... Buka Manajemen Komputer (klik kanan pada komputer saya dan pilih Kelola) -> Pengguna dan Grup Lokal -> Pengguna -> Pilih IUSR_MACHINENAME -> Klik kanan Properti -> Pastikan itu adalah anggota IIS_WPG dan pengguna dan bukan Tamu.


Saya bekerja dengan Server 2008 R2 dan akun IUser tidak tersedia dalam daftar.

1
Matt

Coba pasang sisi klien dari IIS menggunakan aspnet_regiis -c lalu atur ulang IIS.

1
titilola