Masalah izin dengan direktori virtual ke jalur UNC


13

Saya memiliki direktori virtual di situs saya (lingkungan pengujian). Ini adalah bagian UNC yang juga digunakan sebagai FTP publik.

Ini dikonfigurasikan untuk terhubung sebagai akun admin domain dan "Tes pengaturan" mengatakan semuanya tampak berfungsi. Namun ketika saya mencoba terhubung, saya mendapatkan:

500 - "Gagal memulai pemantauan perubahan pada \ INTRANET \ FTP \ test \ web.config karena akses ditolak"

Ini adalah ASP.NET YSOD. Saya tidak yakin mengapa ASP.NET terlibat sama sekali karena ini adalah file .jpg statis yang saya minta.

Saya mencoba mengaktifkan penelusuran permintaan yang gagal dan ini adalah kesalahan khusus:

  • ModuleName WindowsAuthentication
  • Pemberitahuan 2
  • HttpStatus 500
  • HttpReason Galat Server Internal
  • HttpSubStatus 0
  • ErrorCode 0
  • ConfigExceptionInfo
  • Pemberitahuan AUTHENTICATE_REQUEST
  • ErrorCode Operasi selesai dengan sukses. (0x0)

Jika saya mengubah "Jenis Log Masuk Fisik" dari ClearText ke Jaringan. Saya mendapatkan kesalahan IIS berikut:

Kesalahan HTTP 500.19 - Server Internal

Kesalahan Halaman yang diminta tidak dapat diakses karena data konfigurasi terkait untuk halaman tidak valid.

Informasi Kesalahan Rinci

  • Modul IIS Web Core
  • Pemberitahuan BeginRequest
  • Handler Belum ditentukan
  • Kode Kesalahan 0x80070005
  • Kesalahan Konfigurasi Tidak dapat membaca file konfigurasi karena izin yang tidak memadai
  • File Konfigurasi \\?\UNC\INTRANET\FTP\test\web.config
  • URL yang Diminta http://test.mydowmain.com:80/uploads/images/ca49acf6-6174-412e-8abd-59fab983e931.jpg

  • Jalan Fisik \\INTRANET\FTP\test\images\ca49acf6-6174-412e-8abd-59fab983e931.jpg

  • Metode Masuk Belum ditentukan

  • Pengguna Masuk Belum ditentukan
  • Direktori Log Penelusuran Permintaan Gagal C:\inetpub\logs\FailedReqLogFiles

Ini tidak menghasilkan log permintaan gagal anehnya — saya telah menetapkan penelusuran permintaan gagal untuk melacak kesalahan dengan kode kesalahan 400-999.

Yang juga perlu diperhatikan adalah bahwa jika saya membuka fitur Konfigurasi dari dalam IIS, saya melihat kesalahan akses ditolak.

Saya memiliki pengaturan yang sama persis pada mesin dev lokal saya ke jalur UNC yang sama dan pengguna yang sama itu bekerja. Hanya pada server uji tidak.

Apa yang saya lakukan salah?

Jawaban:


10

Fakta bahwa ini adalah aplikasi ASP.net mungkin persis apa masalahnya di sini. Identitas kumpulan aplikasi Anda harus memiliki hak (tidak harus identitas IIS; secara default, identitas kumpulan aplikasi adalah akun Layanan Jaringan lokal.) Anda juga mungkin perlu menjalankan caspol.exe di mesin IIS Anda.

http://msdn.microsoft.com/en-us/library/cb6t8dtz%28v=vs.80%29.aspx

http://learn.iis.net/page.aspx/50/aspnet-20-35-share-hosting-configuration/

%windir%\Microsoft.NET\Framework\v2.0.50727\caspol -m -ag 1.  -url "file://\\remotefileserver\content$\*" FullTrust

7

Saya menyelesaikan masalah kami dengan membuat akun yang cocok di server web dan server unc. Saya kemudian memodifikasi kumpulan Aplikasi untuk dijalankan menggunakan akun yang cocok itu bukan layanan jaringan. Ini memberi saya fleksibilitas untuk menyinkronkan kata sandi di kedua server tanpa mempengaruhi fungsi-fungsi lain yang tergantung pada layanan jaringan.


3
Setelah menghabiskan 5 jam dan mencari solusi, akhirnya solusi IT Action berhasil untuk saya. Jadi saya telah membuat pengguna yang sama persis di kedua mesin, dan kemudian mengatur kumpulan Aplikasi untuk dijalankan menggunakan akun itu. Aku baru saja tergila-gila dengan itu. Akhirnya terpecahkan. Semoga ini bisa membantu semua orang memiliki masalah yang sama

+1 masif. Saya berada di kapal yang sama dengan @ user249232 - membuat akun cermin di mesin IIS langsung memecahkan masalah setelah banyak pencarian. Namun, saya menetapkan pengguna dengan 'Hubungkan sebagai' di pengaturan dasar situs, bukan dengan mengubah id kumpulan aplikasi.
Scruffy

1
Kudos untuk siapa solusi ini bekerja, tetapi ini adalah solusi yang mengerikan bagi saya, karena saya tidak ingin mencoba meniru pengaturan nama pengguna domain corp saya di pengaturan vbox linux pribadi saya sendiri, yang saya gunakan dengan konvensi nama pengguna yang berbeda. Penyinkronan kata sandi adalah kompleksitas tambahan, yang di atas bagi saya, karena saya sudah menggunakan server split (iis pada host saya, dan php56 di linux untuk memiliki akses untuk komposer)
Brian Thomas

setelah menghabiskan 2 hari. Ini berhasil untuk saya. Bahkan saya sudah mencoba kredensial yang sama dan itu tidak berhasil. Akhirnya ia berfungsi setelah memindahkan pengguna biasa dalam grup Administrator
Ketan Kotak

2

Jika sumber yang dibagikan ini bukan aplikasi (mis. Folder gambar), Coba konfigurasikan direktori virtual agar diabaikan oleh aplikasi root yang menyertakan direktori virtual (dalam kasus saya saya telah menyelesaikan ini dengan mengubah jenis kumpulan aplikasi root sebagai Klasik bukan mode Terpadu). Tetapi jika Ada aplikasi di titik bersama maka Anda dapat mengikuti cara @mfinni dinyatakan.


1

Anda dapat memeriksa untuk memastikan bahwa akun yang dijalankan oleh IIS memiliki hak yang sesuai / dibutuhkan untuk UNC yang bermasalah.


3
Jika ini bukan aplikasi ASP.net, Anda akan mendapatkan uang. Karena berjalan di kumpulan aplikasi, identitas App Pool yang membutuhkan akses, bukan akun pengguna IIS.
mfinni

1

Saya memiliki masalah yang sama pada IIS 7.5 Saya menemukan solusinya:

  1. Buat pengguna lokal di server dengan share
  2. Buat jaringan Bagikan, memberikan pengguna dibuat pada langkah 1 izin yang diinginkan. Windows akan mengatur izin untuk pengguna yang Anda tentukan
  3. Pergi ke direktori virtual di IIS dan buka "pengaturan lanjutan"
  4. Masukkan URL di jalur fisik untuk berbagi jaringan sebagai \\<servername>\<sharename>
  5. klik di Kredensial Jalur Fisik; tambahkan kredensial untuk pengguna yang dibuat pada langkah 1

0

Baru saja mengalami masalah yang sama dengan server web non-domain mengakses beberapa sumber daya domain menggunakan akun domain. Kami mendapatkan perilaku aneh ("uji kredensial" akan gagal meskipun kami tahu kredensial benar, kami dapat melihat folder dan file dalam tampilan konten, tetapi tidak dapat "menelusuri"). Solusi adalah membuat pengguna lokal di mesin dengan nama yang sama dengan pengguna domain.

Saya pikir ini adalah apa yang akan terjadi jika server web adalah anggota domain, dan pengguna lokal diperlukan untuk mendapatkan beberapa sumber daya lokal (config?) Untuk memetakan virtual.

Semoga itu bisa membantu seseorang.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.