Αναγν. άρθρου: 871179 - Τελευταία αναθεώρηση: Δευτέρα, 3 Δεκεμβρίου 2007 - Αναθεώρηση: 4.1

Μήνυμα λάθους "Σφάλμα HTTP 401.1 - Μη εξουσιοδοτημένη πρόσβαση: Δεν επιτρέπεται η πρόσβαση εξαιτίας μη έγκυρων πιστοποιήσεων" κατά την πρόσβαση σε μια τοποθεσία Web που είναι μέρος ενός χώρου συγκέντρωσης εφαρμογών των υπηρεσιών IIS 6.0

Συμβουλή συστήματοςΑυτό το άρθρο ισχύει για διαφορετικό λειτουργικό σύστημα από αυτό που χρησιμοποιείτε. Το περιεχόμενο του άρθρου που ενδέχεται να μην σας αφορά έχει απενεργοποιηθεί.
Ανάπτυξη όλων | Σύμπτυξη όλων

Συμπτώματα

Κατά την προσπάθειά σας να αποκτήσετε πρόσβαση σε μια τοποθεσία Web των υπηρεσιών Microsoft Internet Information Services (IIS) 6.0, η οποία έχει ρυθμιστεί να χρησιμοποιεί μόνο τον ενσωματωμένο έλεγχο ταυτότητας των Windows, σας ζητείται να δώσετε τις πιστοποιήσεις χρήστη που χρησιμοποιείτε. Κατά την προσπάθειά σας να συνδεθείτε, εμφανίζεται ξανά η προτροπή σύνδεσης. Αφού επιχειρήσετε να συνδεθείτε για τρίτη φορά, εμφανίζεται το ακόλουθο μήνυμα λάθους:
Σφάλμα HTTP 401.1 - Μη εξουσιοδοτημένη πρόσβαση: Δεν επιτρέπεται η πρόσβαση εξαιτίας μη έγκυρων πιστοποιήσεων"

(HTTP Error 401.1 - Unauthorized: Access is denied due to invalid credentials).

Αιτία

Αυτή η συμπεριφορά ενδέχεται να προκύψει αν ισχύουν οι ακόλουθες συνθήκες:
  • Αυτή η τοποθεσία Web των IIS 6.0 αποτελεί μέρος ενός χώρου συγκέντρωσης εφαρμογών των IIS.
  • Ο χώρος συγκέντρωσης εφαρμογών εκτελείται σε έναν τοπικό λογαριασμό ή σε έναν λογαριασμό χρήστη τομέα.
  • Η τοποθεσία Web έχει ρυθμιστεί έτσι ώστε να χρησιμοποιεί μόνο τον ενσωματωμένο έλεγχο ταυτότητας των Windows.
Σε αυτό το σενάριο, όταν ο ενσωματωμένος έλεγχος ταυτότητας των Windows επιχειρήσει να χρησιμοποιήσει τον έλεγχο ταυτότητας Kerberos, ο Kerberos ενδέχεται να μην λειτουργήσει. Για να χρησιμοποιήσει τον έλεγχο ταυτότητας Kerberos, μια υπηρεσία πρέπει να δηλώσει το κύριο όνομα υπηρεσίας (SPN) στο λογαριασμό της υπηρεσίας καταλόγου Active Directory, στον οποίο εκτελείται η υπηρεσία. Από προεπιλογή, η υπηρεσία καταλόγου Active Directory δηλώνει το όνομα υπολογιστή του βασικού συστήματος εισόδου/εξόδου (NetBIOS) του δικτύου. Η υπηρεσία καταλόγου Active Directory επιτρέπει επίσης στην "Υπηρεσία δικτύου" (Network Service) ή στο λογαριασμό "Τοπικό σύστημα" (Local System) να χρησιμοποιούν τον έλεγχο ταυτότητας Kerberos.

Προτεινόμενη αντιμετώπιση

Εάν αυτή η συμπεριφορά παρουσιαστεί όταν ο χώρος συγκέντρωσης εφαρμογών εκτελείται σε έναν τοπικό λογαριασμό, ακολουθήστε τα βήματα της ενότητας "Λύση".

Για να επιλύσετε αυτήν τη συμπεριφορά όταν ο χώρος συγκέντρωσης εφαρμογών εκτελείται σε ένα λογαριασμό χρήστη τομέα, ορίστε ένα HTTP SPN με το όνομα NetBIOS και το έγκυρο όνομα τομέα (FQDN) του λογαριασμού χρήστη τομέα, στον οποίο εκτελείται ο χώρος συγκέντρωσης εφαρμογών. Για να γίνει αυτό,ακολουθήστε τα εξής βήματα σε έναν ελεγκτή τομέα:

Σημαντικό Το SPN μιας υπηρεσίας είναι δυνατόν να συσχετιστεί μόνο με ένα λογαριασμό. Επομένως, εάν χρησιμοποιήσετε αυτήν την προτεινόμενη επίλυση, κάθε άλλη εφαρμογή που εκτελείται με διαφορετικό λογαριασμό χρήστη τομέα δεν είναι δυνατόν να χρησιμοποιηθεί μόνο με τον ενσωματωμένο έλεγχο ταυτότητας των Windows.
  1. Εγκαταστήστε το εργαλείο Setspn.exe. Για να αποκτήσετε την έκδοση Microsoft Windows 2000 του εργαλείου, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:
    http://www.microsoft.com/downloads/details.aspx?FamilyID=5fd831fd-ab77-46a3-9cfe-ff01d29e5c46&displaylang=en (Αγγλική έκδοση) (http://www.microsoft.com/downloads/details.aspx?FamilyID=5fd831fd-ab77-46a3-9cfe-ff01d29e5c46&displaylang=en)
    Η έκδοση Microsoft Windows Server 2003 του εργαλείου γραμμής εντολών Setspn.exe είναι διαθέσιμη στα Εργαλεία υποστήριξης του Windows Server 2003, τα οποία περιλαμβάνονται στο CD του Windows Server 2003. Για να εγκαταστήσετε τα εργαλεία, κάντε διπλό κλικ στο αρχείο Suptools.msi στο φάκελο Support/Tools.
  2. Ξεκινήστε μια γραμμή εντολών και, στη συνέχεια, αλλάξτε τον κατάλογο όπου έχετε εγκαταστήσει το Setspn.exe.
  3. Στη γραμμή εντολών, πληκτρολογήστε τις ακόλουθες εντολές. Πιέστε ENTER μετά από κάθε εντολή:
    setspn.exe -a http/IIS_computer's_NetBIOS_name Όνομα_τομέα\UserName

    setspn.exe -a http/IIS_computer's_FQDN Όνομα_τομέα\UserName
    Σημείωση UserName είναι το όνομα του λογαριασμού στον οποίο εκτελείται ο χώρος συγκέντρωσης εφαρμογών.
Μόλις ορίσετε το SPN για την υπηρεσία HTTP στο λογαριασμό χρήστη τομέα στον οποίο εκτελείται ο χώρος συγκέντρωσης εφαρμογών, μπορείτε να συνδεθείτε με επιτυχία με την τοποθεσία Web χωρίς να σας ζητηθεί να δώσετε πιστοποιήσεις χρήστη.

Εναλλακτικός τρόπος αντιμετώπισης

Για να επιλύσετε αυτήν τη συμπεριφορά στην περίπτωση που έχετε πολλούς χώρους συγκέντρωσης εφαρμογών που εκτελούνται σε διαφορετικούς λογαριασμούς χρήστη τομέα, πρέπει να επιβάλλετε στις IIS να χρησιμοποιήσουν το NTLM ως μηχανισμό ελέγχου ταυτότητας, εάν θέλετε να χρησιμοποιήσετε μόνο τον ενσωματωμένο έλεγχο ταυτότητας των Windows. Για να γίνει αυτό, ακολουθήστε τα εξής βήματα στο διακομιστή που εκτελεί τις IIS:
  1. Ανοίξτε μια γραμμή εντολών.
  2. Εντοπίστε και, στη συνέχεια, αλλάξτε τον κατάλογο που περιέχει το αρχείο Adsutil.vbs. Από προεπιλογή, αυτός ο κατάλογος είναι ο C:\Inetpub\Adminscripts.
  3. Πληκτρολογήστε την ακόλουθη εντολή και, στη συνέχεια, πιέστε το πλήκτρο ENTER:
    cscript adsutil.vbs set w3svc/NTAuthenticationProviders "NTLM"
  4. Για να βεβαιωθείτε ότι η ιδιότητα μετα-βάσης NtAuthenticationProviders έχει οριστεί σε NTLM, πληκτρολογήστε την ακόλουθη εντολή και, στη συνέχεια, πιέστε το πλήκτρο ENTER:
    cscript adsutil.vbs get w3svc/NTAuthenticationProviders
    Πρέπει να εμφανιστεί το ακόλουθο κείμενο:
    NTAuthenticationProviders       : (STRING) "NTLM"

Κατάσταση

Αυτή η συμπεριφορά οφείλεται στη σχεδίαση.

Περισσότερες πληροφορίες

Εάν ορίσετε το SPN χρησιμοποιώντας μόνο το FQDN του διακομιστή που εκτελεί τις IIS, θα σας ζητηθούν πιστοποιήσεις χρήστη μετά από 30 λεπτά. Το χρονικό όριο των 30 λεπτών παρουσιάζεται εξαιτίας του τρόπου με τον οποίο ο Internet Explorer αποθηκεύει στη μνήμη cache τις πληροφορίες DNS (Domain Name System). Μετά από 30 λεπτά,ο Internet Explorer επαναφέρει το όνομα NetBIOS. Κατά συνέπεια, πρέπει να βεβαιωθείτε ότι έχετε επίσης δηλώσει το SPN, χρησιμοποιώντας το όνομα NetBIOS του διακομιστή που εκτελεί τις IIS, για να αποτρέψετε την εμφάνιση του ερωτήματος που σας ζητά τις πιστοποιήσεις χρήστη. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
263558  (http://support.microsoft.com/kb/263558/EL/ ) Τρόπος με τον οποίο ο Internet Explorer χρησιμοποιεί τη μνήμη cache για καταχωρήσεις κεντρικού υπολογιστή DNS
Για να επαληθεύσετε τα SPN που δηλώθηκαν για το λογαριασμό χρήστη στον οποίο εκτελείται ο χώρος συγκέντρωσης εφαρμογών, ξεκινήστε μια γραμμή εντολών, πληκτρολογήστε την ακόλουθη εντολή από τον κατάλογο όπου είναι εγκατεστημένο το Setspn.exe και, στη συνέχεια, πιέστε το πλήκτρο ENTER:
setspn.exe -l UserName
Εμφανίζεται μια λίστα με τα SPN που δηλώθηκαν για το λογαριασμό χρήστη.

Αναφορές

Για πρόσθετες πληροφορίες σχετικά με τη χρήση του ενσωματωμένου ελέγχου ταυτότητας των Windows χρησιμοποιώντας χώρους συγκέντρωσης εφαρμογών των IIS, επισκεφθείτε την ενότητα "Περιορισμοί ταυτότητας διαδικασίας εργασίας με τον έλεγχο ταυτότητας Kerberos" στην ακόλουθη τοποθεσία της Microsoft στο Web (στα αγγλικά):
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/523ae943-5e6a-4200-9103-9808baa00157.mspx (http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/523ae943-5e6a-4200-9103-9808baa00157.mspx)
Για πρόσθετες πληροφορίες σχετικά με τις αποτυχίες ελέγχου ταυτότητας ή τις αποτυχίες ελέγχου πρόσβασης στις IIS, μπορείτε να κάνετε λήψη του Authentication and Access Control Diagnostics 1.0. Το ακόλουθο αρχείο είναι διαθέσιμο για λήψη από το Κέντρο λήψης της Microsoft (Download Center):
http://www.microsoft.com/downloads/details.aspx?FamilyId=E90FE777-4A21-4066-BD22-B931F7572E9A&displaylang=en (Αγγλική έκδοση) (http://www.microsoft.com/downloads/details.aspx?FamilyId=E90FE777-4A21-4066-BD22-B931F7572E9A&displaylang=en)
Σημείωση Το εργαλείο AuthDiag έχει σχεδιαστεί για να σας βοηθήσει να δείτε κάθε ένα από τα ακόλουθα μηνύματα λάθους:
  • Η σύνδεση 401.1 απέτυχε (401.1 logon failed)
  • 401.3 ACL
Το εργαλείο AuthDiag μπορεί επίσης να σας βοηθήσει όταν αντιμεπίζετε προβλήματα με τον έλεγχο ταυτότητας Kerberos.

Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Οδηγός Microsoft Internet Information Services 6.0
Λέξεις-κλειδιά: 
kbtshoot kbprb KB871179