Αυτήν τη στιγμή είστε εκτός σύνδεσης, σε αναμονή για επανασύνδεση στο Internet

ΕΝΗΜΕΡΩΣΗ ΚΩΔΙΚΑ: Το ASP.NET δεν λειτουργεί με τον προεπιλεγμένο λογαριασμό ASPNET σε έναν ελεγκτή τομέα

Αποποίηση ευθυνών για περιεχόμενο της Γνωσιακής Βάσης (KB) που έχει αποσυρθεί
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
Συμπτώματα
Μετά από την εγκατάσταση του Microsoft Visual Studio .NET ή του Microsoft .NET Framework σε έναν ελεγκτή τομέα ή σε έναν ελεγκτή τομέα υποστήριξης, εάν προσπαθήσετε να εκτελέσετε μια εφαρμογή ASP.NET, το πρόγραμμα οδήγησης εμφανίζει το ακόλουθο μήνυμα λάθους:
Server Application Unavailable

The web application you are attempting to access on this web server is currently unavailable.

Please hit the "Refresh" button in your web browser to retry your request.
Ακόμη, καταγράφεται το ακόλουθο συμβάν στο αρχείο καταγραφής συμβάντων του συστήματος:
aspnet_wp.exe could not be launched because the username and/or password supplied in the processModel section of the config file are invalid.
aspnet_wp.exe could not be started.
HRESULT for the failure: 80004005
Αυτό ισχύει για την έκδοση 5.0 των υπηρεσιών Internet Information Services (IIS) ή για νεότερες εκδόσεις.
Αιτία
Από προεπιλογή, το ASP.NET εκτελεί τη διαδικασία εργασίας του (Aspnet_wp.exe) με έναν αδύναμο λογαριασμό (το λογαριασμό του τοπικού υπολογιστή, ο οποίος ονομάζεται ASPNET) για την παροχή ενός περισσότερο ασφαλούς περιβάλλοντος. Σε έναν ελεγκτή τομέα ή σε έναν ελεγκτή τομέα υποστήριξης, όλοι οι λογαριασμοί χρηστών είναι λογαριασμοί τομέα και όχι λογαριασμοί τοπικού υπολογιστή. Κατά συνέπεια, το Aspnet_wp.exe αποτυγχάνει να ξεκινήσει, επειδή δεν είναι σε θέση να βρει έναν τοπικό λογαριασμό που ονομάζεται "localmachinename\ASPNET". Για να εφοδιάσετε τον ελεγκτή τομέα με έναν έγκυρο λογαριασμό χρήστη, πρέπει να καθορίσετε έναν αποκλειστικό λογαριασμό στην ενότητα <processModel> του αρχείου Machine.config ή να χρησιμοποιήσετε το λογαριασμό SYSTEM.

Σημείωση Εάν επιχειρήσετε να εφαρμόσετε εντοπισμό σφαλμάτων (κάνοντας κλικ στο κουμπί Start) προτού να επιχειρήσετε να μετακινηθείτε στη σελίδα, μπορεί να αντιμετωπίσετε ακριβώς το ίδιο πρόβλημα.
Προτεινόμενη αντιμετώπιση
Για την αντιμετώπιση αυτού του ζητήματος, χρησιμοποιήστε μία από τις ακόλουθες μεθόδους.
  • Δημιουργήστε έναν αδύναμο λογαριασμό με τα σωστά δικαιώματα και, στη συνέχεια, ρυθμίστε τις παραμέτρους της ενότητας <processModel> του αρχείου Machine.config για να χρησιμοποιήσει αυτόν το λογαριασμό.
  • Ορίστε την ιδιότητα userName σε SYSTEM στην ενότητα <processModel> του αρχείου Machine.config.
  • Ρυθμίστε τις παραμέτρους της ενότητας <processModel> του αρχείου Machine.config για να χρησιμοποιήσει ένα λογαριασμό διαχειριστή.
Σημείωση Εάν επιτρέψετε στις εφαρμογές ASP.NET να εκτελεστούν ως SYSTEM ή ως λογαριασμός διαχειριστή μπορεί να παρουσιαστούν σοβαρά ζητήματα ασφαλείας. Εάν χρησιμοποιήσετε κάποια από αυτές τις λύσεις, ο κώδικας που εκτελείται στη διαδικασία Aspnet_wp.exe θα έχει δυνατότητα πρόσβασης στις ρυθμίσεις του ελεγκτή τομέα και του τομέα. Τα εκτελέσιμα αρχεία που ξεκινούν από τη διαδικασία Aspnet_wp.exe εκτελούνται στο ίδιο περιβάλλον και έχουν επίσης πρόσβαση στον ελεγκτή τομέα.

Κατά συνέπεια, η Microsoft συνιστά να χρησιμοποιείτε την πρώτη λύση. Για να χρησιμοποιήσετε την πρώτη λύση, ακολουθήστε τα εξής βήματα:
  1. Δημιουργήστε ένα λογαριασμό χρήστη στον υπολογιστή που ονομάζεται ASPUSER και, στη συνέχεια, προσθέστε αυτόν το λογαριασμό στην ομάδα Users.

    Σημείωση Μπορείτε επίσης να χρησιμοποιήσετε το λογαριασμό ASPNET τον οποίο δημιούργησε το .NET Framework εάν αλλάξετε τον κωδικό πρόσβασης του λογαριασμού. Πρέπει να γνωρίζετε τον κωδικό πρόσβασης σε αυτόν το λογαριασμό, επειδή τον προσθέτετε στο τμήμα <processModel> παρακάτω σε αυτά τα βήματα.
  2. Εκχωρήστε στο λογαριασμό ASPUSER ή ASPNET το δικαίωμα χρήστη Log on as a batch job. Βεβαιωθείτε ότι αυτή η αλλαγή εμφανίζεται στις ρυθμίσεις τοπικής πολιτικής ασφαλείας.

    Σημείωση Για να εκχωρήσετε το δικαίωμα χρήστη Log on as a batch job σε αυτόν το λογαριασμό, ίσως χρειαστεί να εκχωρήσετε αυτό το δικαίωμα χρήστη σε κάθε μία από τις ακόλουθες πολιτικές ασφαλείας (Από τις ενότητες Control Panel/Administrative Tools):

    • Πολιτική ασφαλείας ελεγκτή τομέα
    • Πολιτική ασφαλείας τομέα
    • Τοπική πολιτική ασφαλείας

    Σημείωση Ίσως χρειαστεί να κάνετε επανεκκίνηση του διακομιστή για να ισχύσουν αυτές οι αλλαγές.
  3. Βεβαιωθείτε ότι ο λογαριασμός ASPUSER ή ASPNET διαθέτει δικαιώματα πρόσβασης σε όλους τους απαιτούμενους καταλόγους και αρχεία για την εκκίνηση της διαδικασίας Aspnet_wp.exe και για την εξυπηρέτηση των σελίδων ASP.NET. Για πρόσθετες πληροφορίες σχετικά με τα δικαιώματα που πρέπει να εκχωρηθούν σε αυτόν το λογαριασμό, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
    317012 Ταυτότητα αίτησης και διαδικασίας στο ASP.NET
  4. Ανοίξτε το αρχείο Machine.config. Η διαδρομή για το αρχείο είναι η εξής: %Systemroot%\Microsoft.NET\Framework\v1.0.3705\CONFIG.
  5. Στην ενότητα <processModel> του αρχείου Machine.config, αλλάξτε τα χαρακτηριστικά userName και password στο όνομα και στον κωδικό πρόσβασης του λογαριασμού που δημιουργήσατε στο βήμα 1. Για παράδειγμα:
    userName="DomainName\ASPUSER" password="ASPUSERpassword"
  6. Αποθηκεύστε τις αλλαγές στο αρχείο Machine.config.
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα σφάλμα το οποίο παρουσιάζεται στα προϊόντα της που αναφέρονται στην ενότητα "Ισχύει για". Αυτό το σφάλμα διορθώθηκε στο ASP.NET (περιλαμβάνεται στο .NET Framework) 1.1.
Αναφορές
Για πρόσθετες πληροφορίες σχετικά με την ασφάλεια ASP.NET, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
306590 Επισκόπηση της ασφάλειας ASP.NET
Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
316989 Εμφανίζεται μήνυμα λάθους κατά τη δημιουργία μιας σύνδεσης αξιόπιστων δεδομένων από το ASP.NET στον SQL Server: "Login failed for user: 'AccountName'"
329290 Τρόπος χρήσης του βοηθητικού προγράμματος ASP.NET για την κρυπτογράφηση πιστοποιήσεων και συμβολοσειρών σύνδεσης καταστάσεων περιόδου λειτουργίας
317012 Ταυτότητα αίτησης και διαδικασίας στο ASP.NET
kbreadme
Ιδιότητες

Αναγνωριστικό άρθρου: 315158 - Τελευταία αναθεώρηση: 02/04/2008 13:04:07 - Αναθεώρηση: 5.4

  • Microsoft ASP.NET 1.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Mobile Internet Toolkit 1.0
  • kbproductlink kbfix kbbug kbconfig kbhttpruntime kbreadme kbsecurity KB315158
Σχόλια