500 Kesalahan saat menggunakan akun khusus untuk kumpulan aplikasi di IIS 7

11

Saya memiliki situs yang sangat sederhana dengan hanya file statis di IIS 7 pada Windows Server 2008 SP2.

Ketika saya mencoba mengakses file statis apa pun saya mendapatkan 500 kesalahan. Jika saya mengganti nama file html untuk memiliki ekstensi aspx itu berfungsi dengan baik.

Situs ini juga berfungsi dengan baik ketika menggunakan identitas bawaan untuk kumpulan aplikasi. Masalah terjadi ketika saya beralih menggunakan akun khusus untuk kumpulan aplikasi. Saya telah mencoba menggunakan akun lokal dan domain untuk menjalankan kumpulan aplikasi di bawah.

Saya telah memberikan kontrol penuh ke akun ini di direktori situs web dan file.

Menghidupkan tracing mengungkapkan pesan kesalahan ini:
ModuleName: IIS Web Inti
Pemberitahuan: 2
HttpStatus: 500
HttpReason: Kesalahan Server Internal
HttpSubStatus: 0
ErrorCode: 2147943746
ConfigExceptionInfo
Pemberitahuan: AUTHENTICATE_REQUEST
ErrorCode: Entah tingkat peniruan diperlukan tidak disediakan, atau tingkat peniruan yang disediakan tidak valid. (0x80070542)

Saya belum beruntung dengan googling kode kesalahan.

Brownie
sumber

Jawaban:

9

Prolem Soal: Grup IIS_IUSRS hilang dari "meniru klien setelah otentikasi" dalam kebijakan keamanan lokal.

Brownie
sumber
Bekerja untuk saya, terima kasih! Tetapi selain itu di sini adalah bagaimana melakukannya secara bertahap untuk boneka seperti saya: Mulai> Lokal> Kebijakan Keamanan> Kebijakan Lokal> Tugas hak pengguna> Meniru klien setelah otentikasi> Tambahkan Pengguna atau Grup ...> Pilih IIS_IUSRS
Wowe
1

Anda dapat mencoba mengubah kumpulan aplikasi untuk aplikasi virtual ini dan memberikan izin pribadi kumpulan baru ini

untuk memberikan izin untuk kumpulan tertentu, cukup berikan izin untuk pengguna "IIS APPPOOL \ YOUR_POOL_NAME"

MNK_real
sumber
0

Selain jawaban Brownie (benar, Anda harus memberikan hak ini ke akun kumpulan aplikasi); jika IIS mengirimkan kesalahan ini kepada Anda ketika Anda menyebutnya menggunakan klien WCF (+ otentikasi Windows diaktifkan di IIS), itu mungkin karena tanda-tanda token NTLM yang diberikan kepada IIS tidak memungkinkan untuk menyamar sebagai penelepon.

Ubah konfigurasi klien Anda dari ini (default):

<behavior name="NewBehavior">
  <clientCredentials>
    <windows allowedImpersonationLevel="Identification" />
  </clientCredentials>
</behavior>

Untuk ini:

<behavior name="NewBehavior">
  <clientCredentials>
    <windows allowedImpersonationLevel="Impersonation" />
  </clientCredentials>
</behavior>

Lihat artikel ini untuk detail: Peniruan dan Delegasi di WCF

Matthieu
sumber