ΠΛΗΡΟΦΟΡΙΕΣ: Επισκόπηση της ασφάλειας ASP.

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 306590 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Αυτό το άρθρο αναφέρεται το ακόλουθο Microsoft. Πλαίσιο βιβλιοθήκη κλάσεων χώρους ονομάτων:
  • System.Web.Security
  • System.Web.Principal
Ανάπτυξη όλων | Σύμπτυξη όλων

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

Περίληψη

Αυτό το άρθρο παρέχει μια εισαγωγή στις ASP. ασφάλεια.

Για πρόσθετες ASP. επισκοπήσεις, ανατρέξτε στην ακόλουθη Άρθρο της Γνωσιακής Βάσης της Microsoft:
305140 ΠΛΗΡΟΦΟΡΙΕΣ: Χάρτης τεκμηρίωσης ASP.

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

Έχετε μεγαλύτερο έλεγχο για την υλοποίηση της ασφάλειας για με ASP. η εφαρμογή σας. Ασφάλεια ASP. λειτουργεί σε συνδυασμό με τις υπηρεσίες Microsoft Internet Information Services Ασφάλεια (IIS) και περιλαμβάνει τις υπηρεσίες ελέγχου ταυτότητας και εξουσιοδότησης υλοποιεί το μοντέλο ασφαλείας του ASP.. ASP. περιλαμβάνει επίσης μια βασισμένη σε ρόλους δυνατότητα ασφαλείας που μπορείτε να εφαρμόσετε για δύο Microsoft Windows και λογαριασμοί χρήστη εκτός των Windows.

Αυτό το άρθρο χωρίζεται σε τα εξής ενότητες:

Ροή της ασφάλειας με μια αίτηση

Τα ακόλουθα βήματα περιγράφουν την ακολουθία συμβάντων, όταν ένα πρόγραμμα-πελάτη κάνει μια αίτηση:
  1. Ένας υπολογιστής-πελάτης ζητά μια σελίδα .aspx που βρίσκεται σε ένα διακομιστή IIS ο διακομιστής.
  2. Τα διαπιστευτήρια του πελάτη, μεταβιβάζονται στις υπηρεσίες IIS.
  3. IIS ελέγχει την ταυτότητα του προγράμματος-πελάτη και προωθεί τον έλεγχο ταυτότητας το διακριτικό μαζί με αίτηση του προγράμματος-πελάτη για τη διαδικασία εργασίας ASP..
  4. Βάσει του ελέγχου ταυτότητας διακριτικού από τις υπηρεσίες IIS και το ρυθμίσεις παραμέτρων για την εφαρμογή Web, ASP. αποφασίζει αν θα απομίμηση ενός χρήστη στο νήμα που η επεξεργασία της αίτησης. Σε ένα σαφώς διαφορά μεταξύ Microsoft Active Server Pages (ASP) και του ASP. asp. δεν πλέον υποδύεται πιστοποιημένου χρήστη από προεπιλογή. Για να ενεργοποιήσετε την απομίμηση, πρέπει να ορίσετε το χαρακτηριστικό μίμηση της ενότητας ταυτότητα στο αρχείο Web.config στην τιμή true.
Για περισσότερες πληροφορίες σχετικά με τη ροή ασφαλείας, ανατρέξτε το παρακάτω θέμα με το .net Framework κιτ ανάπτυξης λογισμικού (SDK) τεκμηρίωση:
Ροή δεδομένων ASP.
http://MSDN.Microsoft.com/en-us/library/xa68twcb (vs.71) .aspx
Για πρόσθετες πληροφορίες σχετικά με η απομίμηση στο ASP., κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο η Γνωσιακή Βάση της Microsoft:
306158 ΠΛΗΡΟΦΟΡΙΕΣ: Υλοποίηση απομίμησης σε μια εφαρμογή ASP.

Σχετικές ρυθμίσεις παραμέτρων

IIS διατηρεί τις ρυθμίσεις παραμέτρων που σχετίζονται με την ασφάλεια στο IIS μετα-βάσης. Ωστόσο, οι ASP. διατηρεί ασφαλείας (και άλλων) ρύθμιση παραμέτρων ρυθμίσεις στα αρχεία παραμέτρων Extensible Markup Language (XML). Παρόλο που αυτό Γενικά απλοποιεί την ανάπτυξη της εφαρμογής σας από μια ασφαλείας άποψη, το μοντέλο ασφαλείας που θεσπίζει η εφαρμογή σας απαιτεί την σωστή ρύθμιση παραμέτρων μετα-βάση IIS και η εφαρμογή σας ASP. μέσω του αρχείου ρύθμισης παραμέτρων (Web.config).

Το ακόλουθο ενότητες παραμέτρων σχετίζονται με την ασφάλεια ASP.:

Έλεγχος ταυτότητας

Ο έλεγχος ταυτότητας είναι η διαδικασία με την οποία μπορείτε να αποκτήσετε αναγνώρισης πιστοποιήσεις, όπως το όνομα και ο κωδικός πρόσβασης του χρήστη και να επικυρώσετε τις πιστοποιήσεις έναντι ορισμένων αρχή.

ASP. παρέχει τέσσερις ελέγχου ταυτότητας υπηρεσίες παροχής:

Έλεγχος ταυτότητας φορμών

Έλεγχος ταυτότητας φορμών που αναφέρεται σε ένα σύστημα στο οποίο χωρίς_έλεγχο_ταυτότητας Οι αιτήσεις ανακατευθύνονται σε μια φόρμα Hypertext Markup Language (HTML) στο οποίο Οι χρήστες πληκτρολογούν τις πιστοποιήσεις τους. Αφού ο χρήστης παρέχει διαπιστευτήρια και υποβάλλει στη φόρμα, την εφαρμογή πιστοποιεί την αίτηση και τα θέματα του συστήματος ένα δελτίο εξουσιοδότησης με τη μορφή ενός cookie. Αυτό το cookie που περιέχει το διαπιστευτήρια ή ένα πλήκτρο για να σαρώσετε ξανά την ταυτότητα. Οι επόμενες αιτήσεις από το το cookie περιλαμβάνουν αυτόματα το πρόγραμμα περιήγησης.

Για περισσότερες πληροφορίες σχετικά με Έλεγχος ταυτότητας φορμών, ανατρέξτε στο ακόλουθο θέμα στο .net Framework SDK τεκμηρίωση:
Η υπηρεσία παροχής ελέγχου ταυτότητας φορμών
http://MSDN.Microsoft.com/en-us/library/907hb5w9 (vs.71) .aspx
Για έλεγχος ταυτότητας φορμών πρόσθετες πληροφορίες στο ASP., κάντε κλικ στο άρθρο αριθμός παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
301240 ΤΡΌΠΟΣ: Εφαρμογή που βασίζεται σε φόρμες ελέγχου ταυτότητας στην εφαρμογή σας ASP. χρησιμοποιώντας C# .net

Έλεγχος ταυτότητας των Windows

Με έλεγχο ταυτότητας των Windows, IIS εκτελεί τον έλεγχο ταυτότητας, και η διαδικασία εργασίας ASP. προωθείται με έλεγχο ταυτότητας διακριτικού. Το πλεονέκτημα της χρήσης των Windows έλεγχος ταυτότητας είναι ότι απαιτεί ελάχιστη κωδικοποίησης. Θέλετε να χρησιμοποιήσετε τα Windows έλεγχος ταυτότητας να απομιμούνται το λογαριασμό χρήστη των Windows που ελέγχει την ταυτότητα των υπηρεσιών IIS πριν να παραδώσετε την αίτηση ASP..

Για περισσότερες πληροφορίες σχετικά με τον έλεγχο ταυτότητας των Windows, ανατρέξτε στο ακόλουθο θέμα το. Στην τεκμηρίωση του Framework SDK:
Η υπηρεσία παροχής WindowsAuthenticationModule
http://MSDN.Microsoft.com/en-us/library/907hb5w9 (vs.71) .aspx

Έλεγχος ταυτότητας Passport

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

Για περισσότερες πληροφορίες πληροφορίες σχετικά με τον έλεγχο ταυτότητας Passport, ανατρέξτε στο ακόλουθο θέμα της Τεκμηρίωση .net framework SDK:
Η υπηρεσία παροχής ελέγχου ταυτότητας Passport
http://MSDN.Microsoft.com/en-us/library/f8e50t0f (vs.71) .aspx

Προεπιλεγμένο έλεγχο ταυτότητας

Προεπιλεγμένο έλεγχο ταυτότητας χρησιμοποιείται όταν δεν θέλετε ασφαλείας στην εφαρμογή σας Web. απαιτείται η ανώνυμη πρόσβαση για αυτή την ασφάλεια η υπηρεσία παροχής. Ανάμεσα σε όλες τις υπηρεσίες παροχής ελέγχου ταυτότητας παρέχει προεπιλεγμένο έλεγχο ταυτότητας μέγιστη απόδοση για την εφαρμογή σας. Αυτή η υπηρεσία παροχής ελέγχου ταυτότητας είναι επίσης χρησιμοποιείται όταν χρησιμοποιείτε τις δικές σας λειτουργικής μονάδας ασφαλείας προσαρμοσμένη.

Άδεια

Άδεια είναι η διαδικασία η οποία επαληθεύει εάν το με έλεγχο ταυτότητας χρήστης έχει πρόσβαση στους πόρους που ζητήθηκε.

ASP. προσφέρει το παρακάτω υπηρεσίες παροχής άδειας:

FileAuthorization

Η κλάση FileAuthorizationModule εκτελεί η εξουσιοδότηση αρχείου και είναι ενεργό όταν χρησιμοποιείτε Έλεγχος ταυτότητας των Windows. FileAuthorizationModule είναι υπεύθυνος για την εκτέλεση ελέγχων για τον έλεγχο της πρόσβασης των Windows Λίστες (ACL) για να προσδιορίσετε αν ένας χρήστης θα πρέπει να έχουν πρόσβαση.

UrlAuthorization

Η κλάση UrlAuthorizationModule εκτελεί άδειας (Uniform Resource Locator (URL), που ελέγχει την άδεια με βάση το χώρο ονομάτων URI. Μπορεί να είναι URI χώρων ονομάτων διαφέρουν σημαντικά από τις φυσικές διαδρομές φακέλων και αρχείων που τα δικαιώματα NTFS χρήση.

UrlAuthorizationModule υλοποιεί τόσο διεκδικήσεων θετικών και αρνητικών άδειας, δηλαδή, μπορείτε να χρησιμοποιήσετε τη λειτουργική μονάδα για επιλεκτικά να επιτρέψετε ή να αρνηθείτε την πρόσβαση σε αυθαίρετη τμήματα του URI χώρου ονομάτων για τους χρήστες, τους ρόλους (όπως ο διευθυντής, μηχανικοί δοκιμής και διαχειριστές), και στα ρήματα (όπως GET και POST).

Για περισσότερες πληροφορίες σχετικά με την άδεια στο ASP., ανατρέξτε στο ακόλουθο θέμα στην τεκμηρίωση του .net Framework SDK:
Άδεια ASP.
http://MSDN.Microsoft.com/en-us/library/wce3kxhd (vs.71) .aspx

Ασφάλεια που βασίζεται σε ρόλους

Ασφάλεια που βασίζεται σε ρόλους στο ASP. είναι παρόμοιο με το ρόλο που βασίζεται σε ασφαλείας που θα χρησιμοποιήσετε το Microsoft COM + και Microsoft Transaction Server (MTS), Αν και υπάρχουν σημαντικές διαφορές. Δεν είναι η ασφάλεια που βασίζεται σε ρόλους στο ASP. περιορίζεται σε λογαριασμούς των Windows και ομάδες. Για παράδειγμα, εάν ο έλεγχος ταυτότητας των Windows και απομίμησης είναι ενεργοποιημένη, η ταυτότητα του χρήστη είναι μια ταυτότητα των Windows (User.Identity.Name = "Τομέας\όνομα_χρήστη"). Μπορείτε να ελέγξετε τις ταυτότητες για η ιδιότητα μέλους σε συγκεκριμένους ρόλους και περιορισμός της πρόσβασης αναλόγως. Για παράδειγμα:

Κώδικα της Visual Basic .net
If User.IsInRole("BUILTIN\Administrators") Then
   Response.Write("You are an Admin")
Else If User.IsInRole("BUILTIN\Users") then
   Response.Write("You are a User")
Else
   Response.Write("Invalid user")
End if
				
Visual C# .net κώδικα
if ( User.IsInRole("BUILTIN\\Administrators"))
   Response.Write("You are an Admin");
else if (User.IsInRole("BUILTIN\\Users"))
   Response.Write("You are a User");
else
   Response.Write("Invalid user");
				
Εάν χρησιμοποιείτε έλεγχο ταυτότητας φορμών, δεν εκχωρούνται ρόλους για το με έλεγχο ταυτότητας χρήστη. θα πρέπει να γίνει μέσω προγραμματισμού. Για να αντιστοιχήσετε ρόλους για το έλεγχος ταυτότητας χρήστη, χρησιμοποιήστε το συμβάν OnAuthenticate τη λειτουργική μονάδα ελέγχου ταυτότητας (οι οποίες είναι φόρμες λειτουργική μονάδα ελέγχου ταυτότητας σε αυτό το παράδειγμα) για να δημιουργήσετε ένα νέο αντικείμενο GenericPrincipal και να αντιστοιχίσετε στην ιδιότητα χρήστη το HttpContext. Ο ακόλουθος κώδικας απεικονίζει Αυτό:

Κώδικα της Visual Basic .net
Public Sub Application_AuthenticateRequest(s As Object, e As EventArgs)
   If (Not(HttpContext.Current.User Is Nothing)) Then
      If HttpContext.Current.User.Identity.AuthenticationType = "Forms" Then
         Dim id as System.Web.Security.FormsIdentity = HttpContext.Current.User.Identity
         Dim myRoles(3) As String
         myRoles(0)= "managers"
         myRoles(1)= "testers"
         myRoles(2)= "developers"
         HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id,myRoles) 
      End If
   End If
End Sub
				
Visual C# .net κώδικα
public void Application_AuthenticateRequest(Object s, EventArgs e)      
{
   if (HttpContext.Current.User != null)
   {
      if (HttpContext.Current.User.Identity.AuthenticationType == "Forms" ) 
      {
         System.Web.Security.FormsIdentity id = HttpContext.Current.User.Identity;
         String[] myRoles = new String[3];
         myRoles[0]= "managers";
         myRoles[1]= "testers";
         myRoles[2]= "developers";
         HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id,myRoles);
      }
   }
} 
				
Για να ελέγξετε αν ο χρήστης είναι σε συγκεκριμένο ρόλο και να περιορίσετε την πρόσβαση κατά συνέπεια, χρησιμοποιήστε τον ακόλουθο κώδικα (ή παρόμοιο) στις σελίδες .aspx:

Κώδικα της Visual Basic .net
If User.IsInRole("managers") Then
   Response.Write("You are a Manager")
Else If  User.IsInRole("testers") Then
   Response.Write("You are a Tester")
Else If User.IsInRole("developers") Then
   Response.Write("You are a Developer")
End if
				
Visual C# .net κώδικα
if (User.IsInRole("managers"))
   Response.Write("You are a Manager");
else if (User.IsInRole("testers"))
   Response.Write("You are a Tester");
else if (User.IsInRole("developers"))
   Response.Write("You are a Developer");
				
Για πρόσθετες πληροφορίες, κάντε κλικ στο άρθρο αριθμός παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
306238 ΤΡΌΠΟΣ: Εφαρμογή βασίζεται σε ρόλους ασφαλείας με τον έλεγχο ταυτότητας που βασίζεται σε φόρμες στο χρησιμοποιώντας τη Visual Basic .net την εφαρμογή σας ASP.
Για περισσότερες πληροφορίες σχετικά με την ασφάλεια που βασίζεται σε ρόλους, ανατρέξτε στο ακόλουθο θέμα στην τεκμηρίωση του .net Framework SDK:
Ασφάλεια που βασίζεται σε ρόλους
http://MSDN.Microsoft.com/en-us/library/52kd59t0 (vs.71) .aspx

Αναφορές

Για πληροφορίες σχετικά με τις οδηγίες ασφαλείας ASP., δείτε το Λευκή Βίβλος παρακάτω MSDN:
Έλεγχος ταυτότητας στο ASP.: οδηγίες ασφαλείας .net
http://MSDN.Microsoft.com/en-us/library/ms978378.aspx
Για περισσότερες γενικές πληροφορίες σχετικά με τις ASP., ανατρέξτε το ακόλουθη ομάδα συζήτησης του MSDN:
Microsoft.Public.dotnet.Framework.ASPNET
Για πρόσθετες πληροφορίες, κάντε κλικ στο άρθρο αριθμοί παρακάτω για να προβάλετε τα άρθρα της Γνωσιακής Βάσης της Microsoft:
311094 Σφάλμα: Μήνυμα λάθους "ConfigurationException" κατά την απομίμηση του λογαριασμούς ανάγνωση ρύθμισης παραμέτρων
306359 PRB: Request.ServerVariables("LOGON_USER") επιστρέφει συμβολοσειρά Empty ASP.
313091 ΤΡΌΠΟΣ: Δημιουργίας κλειδιών με χρήση της Visual Basic .net για χρήση του ελέγχου ταυτότητας φορμών
313116 PRB: Αιτήσεις ελέγχου ταυτότητας φορμών δεν μεταβαίνετε loginUrl σελίδα
Για περισσότερες πληροφορίες, ανατρέξτε στα ακόλουθα βιβλία:
Reilly, ο Douglas J. Σχεδιασμός εφαρμογών Microsoft ASP.. Microsoft Press, 2001.

Esposito Dino.Λύσεις Web κτίριο με ASP. και ADO.NET. Microsoft Press, 2001.

Ιδιότητες

Αναγν. άρθρου: 306590 - Τελευταία αναθεώρηση: Παρασκευή, 17 Αυγούστου 2012 - Αναθεώρηση: 6.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
Λέξεις-κλειδιά: 
kbproductlink kbarttyperoadmap kbconfig kbinfo kbsecurity kbweb kbmt KB306590 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη: 306590

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

 

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