Αντιμετώπιση προβλημάτων κοινά δικαιώματα και για θέματα ασφαλείας σε σελίδες ASP.NET

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 910449 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
ASP.ΚΑΘΑΡΉ υποστήριξη φωνητικής στήλης

Αντιμετώπιση προβλημάτων κοινά δικαιώματα και για θέματα ασφαλείας στο Microsoft ASP.NET

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

Σε αυτήν τη σελίδα

Hello, είναι A.G Vignesh από την ASP.NET ομάδας. Καλώς ορίσατε ASP.ΚΑΘΑΡΉ υποστήριξη φωνητικής στήλη! Έχουν έναν μηχανικό υποστήριξης προγραμματιστή για πάνω από δύο χρόνια τώρα στη Microsoft και αναλώσατε χρόνο μου επικεντρώνεται στις ASP.NET και τις υπηρεσίες Microsoft Internet Information Services (IIS).

Η εστίαση αυτή η στήλη θα είναι να εξηγούν ASP.NET ασφάλεια, αλλά να διαρθρώσετε μερικές τεχνικές αντιμετώπισης προβλημάτων και συμβουλές που θα σας βοηθούν να απομονώσετε και να επιλύσετε ορισμένα κοινά δικαιώματα και σενάρια ασφαλείας ότι εδώ βλέπουμε σε PSS. Τα δικαιώματα και τα θέματα ασφαλείας σε σελίδες ASP.NET είναι πολύ καλά τεκμηριωμένα. Στην πραγματικότητα, θα υπάρχει ένα καλό αριθμό των ατόμων που μπορεί να έχετε εκτελέσει σε πριν να κάνετε το ίδιο ζήτημα. Έτσι, είναι η πρόθεση για αυτήν τη στήλη είναι ένα καλό σημείο για να βρείτε πληροφορίες σχετικές και εξαντλητικό στις ASP.NET ασφαλείας. Δεν υπάρχει ανάλογη δεν καλύτερη αίσθηση από τη διόρθωση του ζητήματος μόνοι σας.

Χρήσιμα εργαλεία

Πριν να προσπαθήσετε να διορθώσετε κάτι που έχει διακοπεί, πρέπει να εξοικειωθείτε με μερικά εργαλεία που θα σας βοηθήσουν να περιορίσετε το το ζήτημα. Στην περίπτωση μας, θα είμαστε ενδιαφέρει εργαλεία όπως το FileMon, RegMon, και Έλεγχος ασφαλείας. Για περισσότερες πληροφορίες σχετικά με το FileMon, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:
http://technet.Microsoft.com/en-US/Sysinternals/bb896642.aspx
Για περισσότερες πληροφορίες σχετικά με RegMon, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:
http://technet.Microsoft.com/en-US/Sysinternals/bb963881.aspx

Εμφάνιση λεπτομερειών για να απομονώσετε το πρόβλημα

  • Έχει εφαρμογή το παρελθόν; Εάν Ναι, τότε τι άλλαξε που θα μπορούσαν να έχουν κάνει την αλλαγή εφαρμογής; Είναι πιθανό ότι ενημερωμένων εκδόσεων λογισμικού ή ενημερωμένες εκδόσεις έχουν εφαρμοστεί στο διακομιστή. Ένας κωδικός προώθησης επίσης θα μπορούσε να έχει προκάλεσε το ζήτημα.
  • Απλές σελίδες .html και .asp εξυπηρέτηση από το IIS;
  • Σε διαφορετική έκδοση του μετεγκαταστάθηκαν εφαρμογής IIS;
  • Κάνετε άλλες ASP.Αποτυχία NET εφαρμογές στο διακομιστή με το ίδιο σφάλμα; Αυτό είναι το μόνο εφαρμογή που αποτυγχάνει;
  • Το ζήτημα παρουσιάζεται για όλους τους χρήστες ή μόνο σε συγκεκριμένους χρήστες;
  • Το ζήτημα να είναι αναπαραγώγιμες κατά την περιήγηση σε τοπικά το Διακομιστή Web ή είναι αναπαραγώγιμες για λίγα μόνο πελάτες;
  • Εάν χρησιμοποιείτε απομίμησης, τότε δεν την απομίμηση χρήστης διαθέτει την αναγκαία πρόσβαση στον πόρο;
Τις παραπάνω ερωτήσεις είναι χρήσιμα για να διαγνώσετε το πρόβλημα. Εάν καταχωρείτε το θέμα σας σε οποιαδήποτε από τις ASP.NET φόρουμ, και αν έχετε έχετε ήδη απαντήσεις σε περισσότερες από αυτές τις ερωτήσεις, τότε είναι πιθανό ότι θα λάβετε μια γρήγορη δείκτη ή λύσης στο ζήτημά σας. Το κλειδί είναι να καταχωρήσετε το σύνολο ASP.NET στοίβα ανίχνευση σφάλματος, εάν ισχύει, αντί να λέει "λαμβάνω σφάλμα δεν επιτρέπεται Η πρόσβαση κατά την εκτέλεση των ASP μου.ΚΑΘΑΡΉ εφαρμογή. Μπορεί οποιοσδήποτε Βοήθεια;" Είναι πιο εύκολο για κάποιον να κοιτάξετε ανίχνευση στοίβας και παρέχουν δείκτες όταν μπορούν να δουν ένα μήνυμα σφάλματος ολοκληρώθηκε. Επομένως, πρέπει να ζητήσετε από μόνοι σας...

Τι είναι το ακριβές μήνυμα λάθους;

Την πρώτη ερώτηση που θα σας ζητήσουμε πελάτες είναι "ποιο είναι το ακριβές σφάλμα μήνυμα"; Εάν έχουν σαφή περιγραφή του μηνύματος λάθους που δημιουργήθηκε από τη Microsoft.NET Framework, Μπορείτε να παραλείψετε αυτή την ενότητα. Εάν η εφαρμογή σας μάσκες πραγματική μήνυμα και παρέχει ένα φιλικό σφάλμα μηνυμάτων, όπως, "μη αναμενόμενο σφάλμα έχει Παρουσιάστηκε. Επικοινωνήστε με το διαχειριστή της τοποθεσίας Web για λεπτομέρειες, "δεν είναι του πολύ χρησιμοποιήστε οποιονδήποτε. Ακολουθούν μερικά βήματα που θα σας βοηθήσει να λάβετε την πραγματική μήνυμα λάθους.
  • Εντοπίστε και ανοίξτε το αρχείο Web.config στην εφαρμογή κατάλογος και αλλαγή customErrors σε κατάσταση λειτουργίας = "Off". Αποθηκεύστε το αρχείο και να αναπαραγάγετε το το πρόβλημα.
  • Εξακολουθεί να μην είναι πιθανόν να δείτε το πραγματικό σφάλμα το μήνυμα μετά από το παραπάνω βήμα εξαιτίας του χειρισμού προσαρμοσμένων συμβάντων/σφαλμάτων έγινε από τον προγραμματιστή εφαρμογών. Μπορείτε να προσπαθήσετε να εντοπίσετε το Application_Errorσυμβάν στο αρχείο Global.asax και σχολιάζετε οποιονδήποτε κώδικα που χρησιμοποιεί τοServer.Transfer("Errors.aspx") συνάρτηση για να μεταβείτε σε μια προσαρμοσμένη σελίδα σφάλματος.
/Global.asax 
void Application_Error(object sender, EventArgs e) 
 {
  // Code that runs when an unhandled error occurs
  //Server.Transfer("Errors.aspx"); 

  } 
Όταν λάβετε το μήνυμα λάθους πραγματική, ανάγνωση, για να προσδιορίσετε εάν το το σφάλμα προκαλείται από δικαιώματα που λείπουν σε τοπικό πόρο ή σε έναν απομακρυσμένο πόρο που σας ASP.ΚΑΘΑΡΉ εφαρμογή επιχειρεί πρόσβαση.

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

Το ζήτημα παρουσιάζεται επειδή λείπουν δικαιώματα σε τοπικό πόρο που το ASP.ΚΑΘΑΡΉ εφαρμογή προσπαθεί να αποκτήσει πρόσβαση

Εάν δεν μπορείτε να λάβετε μια σαφή περιγραφή του προβλήματος εξαιτίας του προσαρμοσμένου μηνύματος σφάλματος, εκτελέστε το FileMon και να αναπαραγάγετε το σφάλμα. Διακοπή και αποθηκεύστε την καταγραφή ως FileMon.xls και ανοίξτε το αρχείο στο Microsoft Excel. Από το Δεδομένα μενού, κάντε κλικ στο κουμπί Φίλτρο, και στη συνέχεια κάντε κλικ στο κουμπί Αυτόματο φίλτρο Για να χρησιμοποιήσετε τις δυνατότητες φιλτραρίσματος Το Excel. Τώρα επιλέξτε την αναπτυσσόμενη λίστα στην στήλη στ και αναζητήστε για "Δεν επιτρέπεται Η ΠΡΌΣΒΑΣΗ" σφάλματα.

Ένα δείγμα εξόδου FileMon φαίνεται παρακάτω.
10381 1:01:11 PM w3wp.exe:2320 OPEN
				C:\winnt\microsoft.net\framework\v1.1.4322\Temporary ASP.NET
				Files\sessiontest\8832e585\275ec327\global.asax.xml ACCESS DENIED NT
				AUTHORITY\NETWORK SERVICE
Όπως μπορείτε να δείτε από τη φιλτραρισμένη αποτελέσματα, μας έχουν εντοπιστεί η αιτία του προβλήματος. FileMon δείχνει ότι το NT ΥΠΗΡΕΣΊΑ Authority\Network Service λογαριασμού λείπει δικαιώματα NTFS για το C:\Winnt\Microsoft.net\Framework\v1.1.4322\Temporary ASP.Φάκελος αρχείων Δικτύου. Αυτό πρέπει να είναι ευθεία προς τα εμπρός για να διορθώσετε.Για περισσότερες πληροφορίες σχετικά με τη χρήση FileMon για την αντιμετώπιση των ASP.NET, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
890960Αντιμετώπιση προβλημάτων των ASP.Χρησιμοποιώντας το FileMon NET
Συμβουλή Για να αλλάξετε το ASP είναι ένα καλό βήμα.NET διαδικασία λογαριασμού για ένα Ο λογαριασμός Admin για να δείτε εάν διορθώνει το πρόβλημα. Στο IIS 5.x θα αλλάξετε τοόνομα χρήστη "Σύστημα" στην ενότητα διαδικασία το μοντέλο του αρχείου machine.config και στις υπηρεσίες IIS 6.0 θα αλλάξετε την ταυτότητα των υπηρεσιών IIS αποτέλεσμα να μην "Τοπικό σύστημα" για να δείτε εάν η εφαρμογή λειτουργεί.

Σημείωση Αυτό δεν πρέπει να χρησιμοποιείται ως λύση, αλλά μόνο ως βήμα αντιμετώπισης προβλημάτων.

Οι περισσότεροι άνθρωποι τείνουν να επανεγκατάσταση της Microsoft.NET Framework ή ακόμη και στο βαθμό του επανεγκατάσταση του λειτουργικό σύστημα. Αυτό δεν συνιστάται βήμα αντιμετώπισης προβλημάτων και δεν εγγύηση ότι δεν θα παρουσιαστεί το ζήτημα. Παρέχει ένα παράδειγμα αυτών. Προβλήματα διακοπτόμενης συχνά είναι δύσκολο να απομονώσετε και αντιμετώπιση προβλημάτων. Σε αυτό σενάριο εφαρμογής του πελάτη θα λειτουργήσει καλά για μερικές ώρες, και στη συνέχεια όλες μια ξαφνική θα αποτύχει με το παρακάτω σφάλμα. Ο πελάτης είχε ήδη προσπαθήσει επανεγκατάσταση το.NET Framework, καθώς και το λειτουργικό σύστημα. Αυτό αμελητέα για να διορθώσετε το το ζήτημα για μερικές ημέρες, αλλά στη συνέχεια reappeared.

Σύμπτυξη αυτής της εικόναςΑνάπτυξη αυτής της εικόνας
Σφάλμα διακομιστή στην "/ MyApp"

				Εφαρμογή


Εκτέλεση FileMon δεν έδειξαν ΠΡΌΣΒΑΣΗ ΕΠΙΤΡΈΠΕΤΑΙ σφάλματα. Τα απαραίτητα δικαιώματα για το λογαριασμό ASPNET ήταν σε θέση. Το μόνος τρόπος για να επιδιορθώσετε το πρόβλημα είναι να κάνετε επανεκκίνηση του πλαισίου. Ακόμα και μια επαναφορά IIS θα βοηθήσει. Σκέφτεστε "Ah, το λογισμικό Microsoft χρειάζεται πάντα μια επανεκκίνηση Για να ανακτήσετε;" Επίσης, είναι λάθος!

Το κλειδί εδώ είναι να κοιτάξετε πιο προσεκτικά το μήνυμα λάθους. Το σφάλμα αναφέρει σαφώς ότι "δεν είναι δυνατό το άνοιγμα ενός αρχείου για εγγραφή," και δεν το συνήθη ΠΡΌΣΒΑΣΗ σφάλμα, έτσι σκέφτομαι ότι είναι κάποια άλλη διαδικασία που είναι η τήρηση κλειδωμάτων σε ένα αρχείο ή φάκελο και δεν επιτρέπει ASP.NET εγγραφής σε αυτό. Είναι λογικό επανεκκίνηση τη θανάτωση άλλη διαδικασία και το ASP.ΚΑΘΑΡΉ εφαρμογή ξεκινά πάλι την εργασία μέχρι τη διαδικασία παραπλανητικού διακομιστή κλειδώνει το αρχείο ξανά. Λογική που έχετε να κάνετε είναι να απενεργοποιήσετε όλα τα προγράμματα προστασίας από ιούς, λογισμικό υποκλοπής τρίτου ή οποιοδήποτε άλλο αρχείο παρακολούθησης λογισμικό που εκτελείται σε ο διακομιστής. Δεν κάνω θέλετε να οποιοδήποτε συγκεκριμένο λογισμικό τρίτων κατασκευαστών. Αλλά, σε γενική λογισμικό προστασίας από ιούς είναι γνωστό ότι προκαλεί πολύ grief για τις υπηρεσίες IIS και ASP.NET εφαρμογές. Μια άλλη γνωστό ζήτημα προκαλείται από το λογισμικό προστασίας από ιούς είναι απώλειας περιόδου λειτουργίας λόγω AppDomain ανακυκλώνεται όταν αυτά στο φάκελο Bin ή τα αρχεία .config.

Συμβουλή Είναι ο ευκολότερος τρόπος για να απενεργοποιήσετε υπηρεσίες τρίτων κατασκευαστών:
  1. Κάντε κλικ στο κουμπί Έναρξη, κάντε κλικ στο κουμπί Εκτέλεση, και στη συνέχεια πληκτρολογήστε Msconfig.
  2. Επιλέξτε Υπηρεσίες και ελέγχου Αποκρύψετε όλες τις υπηρεσίες της Microsoft.
  3. Κάντε κλικ στο κουμπί Απενεργοποίηση όλων Για να διακόψετε τις υπηρεσίες τρίτων κατασκευαστών.
  4. Κάντε κλικ στο κουμπί Έναρξη, κάντε κλικ στο κουμπί Εκτέλεση, και στη συνέχεια πληκτρολογήστε iisresetΓια να φορτώσετε εκ νέου το CLR σε διαδικασία εργασίας.
Παρακολουθεί την εφαρμογή σας για να δείτε εάν το ζήτημα εμφανιστεί ξανά. Εάν εκτελούνται πολλά προγράμματα εντοπισμού ιών, χρησιμοποιήστε τη μέθοδο δοκιμής και σφάλματος Προσδιορίστε το συγκεκριμένο πρόγραμμα που προκαλεί το ζήτημα.

Σημείωση Εάν το ίδιο σφάλμα είναι αναπαραγώγιμες 100 τοις εκατό του χρόνου, το λογισμικό αντιμετώπισης ιών μπορεί να είναι η αιτία. Υπάρχουν μπορεί να είναι άλλες αιτίες για αυτό το σφάλμα. Προσπαθήστε να δημιουργήσετε μια απλή ASP.NET δοκιμή της εφαρμογής Απομόνωση αν το ίδιο σφάλμα προκύπτει για μια σελίδα Test.aspx. Εάν, στη συνέχεια, επιβεβαιώστε ότι η απαιτούμενη λίστες ελέγχου πρόσβασης (ACL) είναι όλα σε θέση για τις ASP.NET.

Δείτε ASP.NET απαιτείται λίστες ελέγχου πρόσβασης (ACL):http://msdn2.Microsoft.com/en-us/library/kwzs111e.aspx

Συμβουλή Ο φάκελος %SystemRoot%\Assembly είναι το καθολικό cache συγκροτήσεων. Δεν μπορείτε να χρησιμοποιήσετε απευθείας Εξερεύνηση των Windows για να επεξεργαστείτε λίστες ACL για αυτό ο φάκελος. Αντίθετα, χρησιμοποιήστε μια γραμμή εντολών και εκτελέστε την ακόλουθη εντολή:
Cacls %windir%\assembly /e /t /p domain\useraccount:r
Εναλλακτικά, πριν από την Εξερεύνηση των Windows, κατάργηση της καταχώρησης Shfusion.dll με την ακόλουθη εντολή για να δώσετε δικαιώματα μέσω του GUI:
C:\WINDOWS\Microsoft.NET\Framework\VersionNumber>regsvr32–u shfusion.dll
Μετά τη ρύθμιση δικαιωμάτων με την Εξερεύνηση των Windows, επαναλάβετε την καταχώρηση Shfusion.dll με την ακόλουθη εντολή:
C:\WINDOWS\Microsoft.NET\Framework\VersionNumber>regsvr32 shfusion.dll

Το ζήτημα παρουσιάζεται επειδή λείπουν δικαιώματα σε έναν απομακρυσμένο πόρο που το ASP.ΚΑΘΑΡΉ εφαρμογή επιχειρεί πρόσβαση

Όταν σας ASP.ΚΑΘΑΡΉ εφαρμογή έχει πρόσβαση σε έναν απομακρυσμένο πόρο όπως Κοινή χρήση του Microsoft SQL Server ή διεθνούς σύμβασης ονομάτων (UNC), υπάρχουν πολλά πράγματα που μπορεί να παρουσιαστούν. Επίσης, μπορεί να είναι πολλά πράγματα ρυθμίσετε εσφαλμένα στον απομακρυσμένο πόρο. Θα χρειαστεί να αντιμετωπίσετε αυτά τα θέματα για τη λειτουργία του πόρου.Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
891031Κοινά ζητήματα ασφαλείας κατά την πρόσβαση σε απομακρυσμένους πόρους από ASP.NET εφαρμογές
Το πρώτο σας βήμα θα ήταν να δείτε εάν μπορείτε να συνδεθείτε στον απομακρυσμένο διακομιστή μέσω της Εξερεύνησης των Windows.
  1. Στον απομακρυσμένο διακομιστή, δημιουργήστε ένα φάκελο που ονομάζεται δοκιμής. Σε το Κοινή χρήση και Ασφαλείας καρτέλες του φακέλου δοκιμής, προσθέστε σας/λογαριασμό τομέα, και επίσης ο λογαριασμός διαδικασίας που χρησιμοποιείται από τη σελίδα σας ASP.ΚΑΘΑΡΉ εφαρμογή και να δώσετε τα δύο πλήρους ελέγχου.

    Σημείωση Ανατρέξτε στο θέμα891031 Για τεχνικές ή λύσεις για την πρόσβαση σε απομακρυσμένους πόρους από ASP.NET.
  2. Στο διακομιστή IIS, συνδεθείτε με τον τομέα/λογαριασμό, κάντε κλικ στο κουμπί Έναρξη, κάντε κλικ στο κουμπί Εκτέλεση, και στη συνέχεια πληκτρολογήστε τη διαδρομή UNC κοινόχρηστο στοιχείο του απομακρυσμένου διακομιστή:
    \\RemoteServerName\Test
    Εάν δεν είναι δυνατή η λήψη αυτού του φακέλου, επικοινωνήστε με το δίκτυό σας Ο διαχειριστής για να διορθώσετε αυτό το ζήτημα. Μόνο τότε μπορεί να σας ASP.ΚΑΘΑΡΉ εφαρμογή access κοινή χρήση.
  3. Δημιουργήστε ένα αρχείο που ονομάζεται CreateUNCFile.aspx με τον παρακάτω κώδικα και αποθηκεύστε το αρχείο στον κατάλογο της εφαρμογής.
    <%@ Page Language="vb" %>
    <%@ Import Namespace="System.IO" %>
    <html>
      <head>
      <title>Writing to a Text File</title>
    <script runat="server">
        Sub WriteToFile(ByVal sender As System.Object, ByVal e As System.EventArgs)
            Dim fp As StreamWriter
                fp = File.CreateText("\\<RemoteServerName>\Test\" & "test.txt")
                fp.WriteLine(txtMyFile.Text)
                lblStatus.Text = "The File Successfully created! Your ASP.NET process is able to access this remote share"
                fp.Close()
        End Sub
    </script>
    
    </head>
    <body style="font: 10pt verdana">
                <h3 align="center">Creating a Text File in ASP.NET</h3>
        <form id="Form1" method="post" runat="server">
                            Type your text:
                            <asp:TextBox ID="txtMyFile" TextMode="MultiLine" Rows="10" Columns="60" Runat="server" /><br>
                            <asp:button ID="btnSubmit" Text="Create File" OnClick="WriteToFile" Runat="server" />
                            <asp:Label ID="lblStatus" Font-Bold="True" ForeColor="#ff0000" Runat="server" />
        </form>
    </body>
    </html> 
    
  4. Βεβαιωθείτε ότι μπορείτε να τροποποιήσετε <remoteservername></remoteservername> στην ακόλουθη γραμμή κώδικα
    fp = File.CreateText("\\<RemoteServerName>\Test\" &	"test.txt")
    έτσι ώστε να αντικατοπτρίζει το όνομα του απομακρυσμένου διακομιστή.
  5. Ανοίξτε τον Windows Internet Explorer και αναζήτηση http://IISServerName/Όνομα_εφαρμογής/CreateUNCFile.aspx από έναν υπολογιστή-πελάτη από το διακομιστή IIS.
  6. Εάν το αρχείο Test.txt δημιουργεί με επιτυχία, τότε σας ASP.ΚΑΘΑΡΉ εφαρμογή να πραγματοποιήσει έλεγχο ταυτότητας σε απομακρυσμένο πόρο.
  7. Εάν αποτύχει η δημιουργία του αρχείου από ένα πρόγραμμα περιήγησης-πελάτη του Internet Explorer, αλλά λειτουργεί Εάν μεταβείτε στην ίδια σελίδα από το ίδιο το διακομιστή IIS, τότε είναι πιθανό ότι εκτελούνται σε ένα σενάριο "Διπλού άλματος". Εάν χρησιμοποιείτε προσαρμοσμένα Τμήματα Web που έχει δημιουργηθεί για να αποκτήσετε πρόσβαση σε απομακρυσμένους πόρους που απαιτούν έλεγχο ταυτότητας και εξουσιοδότησης, πιθανότατα θα εκτελεστεί σε πρόβλημα "Διπλού άλματος". Για την πρόσβαση του απομακρυσμένου πόρου, ίσως χρειαστεί να δώσετε πιστοποιήσεις στον τελικό χρήστη στον πόρο, ώστε να περιορίζεται η έξοδος από τον πόρο με τα δεδομένα που ο τελικός χρήστης έχει δικαιώματα πρόσβασης.
Τα παραπάνω βήματα προϋποθέτουν ότι έχετε ενεργοποιημένη στο IIS τον έλεγχο ταυτότητας NTLM. Βασικός έλεγχος ταυτότητας χρησιμοποιήστε Kerberos.Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
907272Ο έλεγχος ταυτότητας Kerberos και αντιμετώπιση προβλημάτων της αντιπροσώπευσης
326985 Τρόπος αντιμετώπισης προβλημάτων που σχετίζονται με το Kerberos στο IIS
Για περισσότερες πληροφορίες σχετικά με τις μεθόδους ελέγχου ταυτότητας IIS, δείτε η ακόλουθη τοποθεσία Web του Microsoft Developer Network (MSDN):
.aspx http://msdn2.Microsoft.com/en-us/library/aa292114 (VS.71)


Συμβουλή Εάν μπορείτε να συνδεθείτε σε απομακρυσμένο κοινόχρηστο στοιχείο UNC, αλλά μπορείτε να συνδεθείτε με ο απομακρυσμένος διακομιστής εκτελεί τον SQL Server από το ASP.ΚΑΘΑΡΉ εφαρμογή, τότε ίσως πρέπει να ελέγξετε ή Ορισμός ονομάτων κύριος υπηρεσίας (SPN) για τον SQL Server. Προσπαθήστε να ενεργοποιήσετε μόνο βασικό έλεγχο ταυτότητας για σας εφαρμογή στις υπηρεσίες IIS και δείτε εάν μπορείτε να συνδεθείτε με τον απομακρυσμένο διακομιστή που εκτελεί τον SQL Server.Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
319723Τρόπος χρήσης του ελέγχου ταυτότητας Kerberos στον SQL Server
316989 Μήνυμα λάθους κατά τη δημιουργία μιας σύνδεσης αξιόπιστων δεδομένων από ASP.NET SQL Server: "η σύνδεση απέτυχε για το χρήστη: 'Όνομα'"
Συμβουλή Ποτέ δεν έχει συνιστάται να χρησιμοποιήσετε αντιστοιχισμένες μονάδες δίσκου για να συνδεθείτε με έναν απομακρυσμένο πόρων επειδή οι αντιστοιχίσεις μονάδων δίσκου είναι μια επέκταση του net use εντολή και έχουν δημιουργηθεί σε βάση ανά χρήστη. Η προτιμώμενη μέθοδος πρόσβαση σε περιεχόμενο για το Web server που υπάρχει στον απομακρυσμένο υπολογιστή είναι να χρήση κοινόχρηστων στοιχείων που ακολουθούν UNC.Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
257174Χρήση αντιστοιχισμένες μονάδες δίσκου με IIS

Κωδικός πρόσβασης ασφαλείας (CA) που σχετίζονται με το θέμα

Μηνύματα λάθους σε σελίδες ASP.NET είναι λεπτομερή και πιο συχνά από δεν σας πείτε τι ακριβώς το πρόβλημα είναι. Σε ορισμένες περιπτώσεις, FileMon ή RegMon δεν επιτρέπεται καταγραφή κάτι χρήσιμο. Ας ρίξουμε μια ματιά σε ένα τέτοιο σενάριο.

Σενάριο

Κατά την αναζήτηση ενός ASP.ΚΑΘΑΡΉ εφαρμογή αποτύχει με Γενικό σφάλμα όπως το ακόλουθο σφάλμα infamous:
Σύμπτυξη αυτής της εικόναςΑνάπτυξη αυτής της εικόνας
Εφαρμογή διακομιστή

				Δεν είναι διαθέσιμη
Εμφανίζει το αρχείο καταγραφής συμβάντων:
Τύπος συμβάντος: σφάλμα
Προέλευση συμβάντος: ASP.NET 1.1.4322.0
Κατηγορία συμβάντος: καμία
Το Αναγνωριστικό συμβάντος: 1088
Ημερομηνία: 10/11/2006
Ώρα: 10:54:04 μμ
Χρήστης: N/A
Υπολογιστή: Όνομα_υπολογιστή
Περιγραφή:
Απέτυχε η εκτέλεση της αίτησης επειδή δεν ήταν δυνατή η δημιουργία του App-Domain. Σφάλμα: 0x8013150a
Όταν μια ASP.ΚΑΘΑΡΉ εφαρμογή τομέα δημιουργείται, ASP.NET αναγνώσεις η καθορισμένη τιμή για το επίπεδο χαρακτηριστικό στοιχείο παραμέτρων αξιοπιστίας, δημιουργεί μια παρουσία του AspNetHostingPermission Κλάση με το καθορισμένοΕπίπεδο το χαρακτηριστικό και στη συνέχεια προσθέτει την κλάση του συνόλου δικαιωμάτων για το τομέας εφαρμογής. Θα δείτε το παραπάνω σφάλμα εάν τα επίπεδα αξιοπιστίας έχει ρυθμιστεί λανθασμένα ή έχει τροποποιηθεί. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα "ASP.NET αξιοπιστίας Επίπεδα και αρχείων πολιτικής"στην ακόλουθη τοποθεσία του MSDN στο Web:
http://msdn2.Microsoft.com/en-us/library/wyts434y.aspx
Για να επιλύσετε αυτό το ζήτημα, μπορείτε να δοκιμάσετε Αυτό Συμβουλή με το "το ζήτημα προκύπτει επειδή λείπουν δικαιώματα σε τοπικό πόρο που το ASP.ΚΑΘΑΡΉ εφαρμογή προσπαθεί να αποκτήσει πρόσβαση"ενότητα, αλλά δεν εμφανίζεται disheartened εάν η εφαρμογή δεν λειτουργεί με το διαχειριστή ΣΥΣΤΉΜΑΤΟΣ ή λογαριασμού. Πρέπει να ελέγξετε για να δείτε εάν το ζήτημα προκαλείται από κωδικό πρόσβασης ασφαλείας. Αυτό μπορεί να γίνει εύκολα, απενεργοποιώντας χρησιμοποιώντας κωδικό πρόσβασης ασφαλείας του Βοηθητικό πρόγραμμα caspol.exe.
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 >caspol -s off
Microsoft (R).NET Framework CasPol 1.1.4322.573
Πνευματικά δικαιώματα (C) Microsoft Corporation 1998-2002. Κάθε νόμιμου δικαιώματος.

Επιτυχία

C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 >
Μία φορά έχετε εκτελέσειcaspol –s off, επαναφορά IIS και προσπαθήστε να περιηγηθείτε στην εφαρμογή. Εάν λειτουργεί αυτό το βήμα, στη συνέχεια, πρέπει να ελέγξετε του συνόλου δικαιωμάτων για ομάδες κώδικα. Μπορείτε να αποκτήσετε πρόσβαση σε ομάδες κώδικα στη Microsoft.NET Framework VersionNumberΕργαλείο ρύθμισης παραμέτρων που βρίσκεται στο Εργαλεία διαχείρισης.

Σε αυτό το σενάριο, το Σύνολο δικαιωμάτων για το My_Computer_Zone ορίστηκε κωδικός ομάδας Τίποτα. Για να αλλάξετε Πλήρους αξιοπιστίας επιλύθηκε το θέμα

Σημείωση Για την πρόσβαση του My_Computer_Zone ο κωδικός ομάδας, ακολουθήστε τα εξής βήματα:
  1. Στον πίνακα ελέγχου, κάντε διπλό κλικ Εργαλεία διαχείρισης.
  2. Κάντε διπλό κλικ Από τη Microsoft.NET Framework VersionNumber Ρύθμιση παραμέτρων.
  3. Κάντε διπλό κλικ Πολιτική ασφαλείας χρόνου εκτέλεσης.
  4. Κάντε διπλό κλικ Μηχάνημα.
  5. Κάντε διπλό κλικ Κώδικα Ομάδες.
  6. Κάντε διπλό κλικ All_Code.
  7. Κάντε διπλό κλικ My_Computer_Zone.
Συμβουλή Θυμηθείτε να εκτελέσετε caspol –s σε Για να ενεργοποιήσετε CAS αφού έχουν διορθωθεί το ζήτημα.

Για περισσότερες πληροφορίες, δείτε: ASP.NET κωδικό πρόσβασης Ασφάλεια:http://msdn2.Microsoft.com/en-us/library/87x8e4d1.aspx

Υπάρχουν Οι πολυάριθμες άλλες αιτίες του σφάλματος "Διακομιστή εφαρμογής διαθέσιμο" το μήνυμα. Το αρχείο καταγραφής συμβάντων είναι η καλύτερη επιλογή σας για περισσότερες λεπτομέρειες σχετικά με την αιτία του το θέμα σας.

Σφάλματα που σχετίζονται με τις υπηρεσίες IIS

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

				εξουσιοδότηση για προβολή αυτής της σελίδας
Τι χρειάζεστε για να αναζητήσετε είναι η κατάσταση και sub κωδικοί κατάστασης για αυτό το συγκεκριμένο σφάλμα.
2006-10-12 22:47:28 W3SVC1 65.52.18.230 ΛΉΨΗ /MyAPP/Login.aspx - 80ΕναΌνομαΧρήστη ΈναςΤομέας\UserID_91 65.52.22.58 Mozilla / 4.0+ (συμβατή με το- + MSIE + 6.0- + Windows + NT + 5.2, + SV1, +.NET + CLR + 1.1.4322-+.NET + CLR + 2.0.50727-+InfoPath.1) 401 3 5
Βλέπουμε 401 με sub-status 3, που υποδηλώνει "Μη εξουσιοδοτημένη πρόσβαση για την ACL στον πόρο."

Αυτό υποδηλώνει ότι λείπει NTFS δικαιώματα σε ένα αρχείο ή φάκελο. Αυτό το σφάλμα μπορεί να προκύψει ακόμα και αν τα δικαιώματα είναι σωστές για το αρχείο που προσπαθείτε να αποκτήσετε πρόσβαση, αλλά η προεπιλεγμένη δικαιώματα και τα δικαιώματα χρήστη μπορεί να λείπει σε άλλους φακέλους ΣΥΣΤΉΜΑΤΟΣ και τις υπηρεσίες IIS. Για το παράδειγμα, ενδέχεται να δείτε αυτό το σφάλμα, αν ο λογαριασμός IUSR_όνομα_υπολογιστή δεν έχει η πρόσβαση στον κατάλογο C:\Winnt\System32\Inetsrv.Για περισσότερες πληροφορίες σχετικά με τους κωδικούς κατάστασης των υπηρεσιών IIS, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
318380Περιγραφή των κωδικών κατάστασης Microsoft Internet Information Services (IIS) 5.0 και 6.0
812614 Προεπιλεγμένα δικαιώματα και τα δικαιώματα χρήστη για τις υπηρεσίες IIS 6.0
271071 Τρόπος ρύθμισης απαιτούνται δικαιώματα NTFS και τα δικαιώματα χρήστη για ένα διακομιστή Web με IIS 5.0
Συμβουλή Κάντε κλικ στο κουμπί Έναρξη, κάντε κλικ στο κουμπί Εκτέλεση, και στη συνέχεια, πληκτρολογήστε logfiles Για να ανοίξετε το φάκελο που περιέχει το Αρχεία καταγραφής των υπηρεσιών IIS. Εναλλακτικά, στη σελίδα ιδιοτήτων για την τοποθεσία Web των υπηρεσιών IIS, κάντε κλικ στην επιλογή τουWebSiteName καρτέλα, και κάτω Μορφή ενεργού αρχείου καταγραφής, κάντε κλικ στο κουμπί Ιδιότητες Για να δείτε το αρχείο καταγραφής καταλόγου και το όνομα.

Το άλλο πράγμα ενδιαφέρει εδώ είναι ο κωδικός κατάστασης 5. Μπορείτε να χρησιμοποιήσετε το net helpmsg εντολή Αποκτήστε περισσότερες πληροφορίες σε αυτόν τον κώδικα κατάστασης:
C:\Documents και Ρυθμίσεις\όνομα χρήστη >net helpmsg 5
Δεν επιτρέπεται η πρόσβαση.
Ας δοκιμάσουμε άλλο κοινό κωδικό κατάστασης, κωδικός 50:
C:\Documents και Ρυθμίσεις\όνομα χρήστη >net helpmsg 50
Η αίτηση δεν υποστηρίζεται.
Συμβουλή Όταν λάβετε άλλο γενικό infamous "500 εσωτερικό διακομιστή Μήνυμα λάθους"και κατόπιν του καλή ιδέα να απενεργοποιήσετε τα φιλικά μηνύματα λάθους HTTP, ώστε να λαμβάνετε λεπτομερή περιγραφή του σφάλματος. Μην ξεχάσετε να φαίνονται στην περίπτωση προβολής όπως μπορεί επίσης να περιέχει περισσότερες πληροφορίες.
Για περισσότερες πληροφορίες σχετικά με τον τρόπο για να απενεργοποιήσετε τα φιλικά μηνύματα λάθους HTTP, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
294807Απενεργοποιήστε τη δυνατότητα του Internet Explorer 5.x και 6.x "show friendly HTTP error messages" στην πλευρά διακομιστή
Η ιδέα είναι να χρησιμοποιήσετε όλες τις πληροφορίες που είναι συνδεδεμένος διαθέσιμο για μέγιστη λεπτομέρειες στη διάθεσή του προβλήματος.

Πόροι

Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
306590ASP.Επισκόπηση ΔΙΚΤΎΟΥ ασφαλείας
317012 Ταυτότητα αίτησης και διαδικασίας στο ASP.NET
Πώς να δημιουργήσετε ένα λογαριασμό υπηρεσίας για μια ASP.Εφαρμογή NET 2.0
http://msdn2.Microsoft.com/en-us/library/ms998297.aspx

ASP.NET μήτρας
http://msdn2.Microsoft.com/en-us/library/aa302377.aspx

Προηγούμενη ASP.ΚΑΘΑΡΉ υποστήριξη φωνητικής στηλών
http://support.Microsoft.com/aspnetpsvc
Ελπίζω ότι αυτές οι απλές τεχνικές είναι χρήσιμη βοηθώντας σας να επιλύσετε ασφάλεια και τα δικαιώματα που σχετίζονται με προβλήματα. Να θυμάστε ότι, οι στήλες υποστήριξη φωνής για σένα! Όπως πάντα, διστάσετε να χρησιμοποιήσετε τοΖητήστε από το φόρμα υποβολής ιδέες σχετικά με θέματα που θέλετε να δείτε απευθύνεται σε μελλοντικές στήλες ή της Γνωσιακής βάσης.

Ιδιότητες

Αναγν. άρθρου: 910449 - Τελευταία αναθεώρηση: Κυριακή, 29 Μαΐου 2011 - Αναθεώρηση: 4.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft ASP.NET 2.0
  • Microsoft ASP.NET 1.1
Λέξεις-κλειδιά: 
kbhowto kbasp kbmt KB910449 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:910449

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com