133 από 153 άτομα το βρήκαν χρήσιμο Όταν δημιουργείται μια ταυτότητα, μπορεί να ανήκει σε έναν ή περισσότερους ρόλους, για παράδειγμα η Tracy μπορεί να ανήκει στους ρόλους Διαχειριστή και Χρήστη, ενώ ο Scott μπορεί να ανήκει μόνο στον ρόλο χρήστη. Ο τρόπος δημιουργίας και διαχείρισης αυτών των ρόλων εξαρτάται από το χώρο αποθήκευσης υποστήριξης της διαδικασίας εξουσιοδότησης. Οι ρόλοι εκτίθενται στον προγραμματιστή μέσω της ιδιότητας IsInRole στην κλάση ClaimsPrincipal.
Η νέα ταυτότητα μπορεί να ανήκει σε έναν ή περισσότερους ρόλους, για παράδειγμα, η Tracy μπορεί να ανήκει στους ρόλους Διαχειριστή και Χρήστη και ενώ η Scott μπορεί να ανήκει μόνο στον ρόλο Χρήστη. Ο τρόπος δημιουργίας και διαχείρισης αυτών των ρόλων εξαρτάται από τον τρόπο αποθήκευσης της διαδικασίας εξουσιοδότησης. Η μέθοδος IsInRole της κλάσης ClaimsPrincipal παρέχει στους προγραμματιστές τον τρόπο χρήσης του ρόλου.
Προσθήκη ελέγχων ρόλων Προσθήκη επικύρωσης ρόλων
Οι έλεγχοι εξουσιοδότησης βάσει ρόλων είναι δηλωτικοί - ο προγραμματιστής τους ενσωματώνει στον κώδικά του, σε έναν ελεγκτή ή σε μια ενέργεια εντός ενός ελεγκτή, καθορίζοντας ρόλους που πρέπει να έχει ο τρέχων χρήστης Γίνετε μέλος του για να αποκτήσετε πρόσβαση στον πόρο που ζητήσατε.
Ο έλεγχος ταυτότητας βάσει ρόλων βασίζεται σε ισχυρισμούς, τον οποίο οι προγραμματιστές ενσωματώνουν στον κώδικά τους, εκχωρώντας ρόλους σε έναν ελεγκτή ή μεθόδους μέσα σε αυτόν, καθορίζοντας ότι οι χρήστες σε ένα αίτημα πρέπει να πληρούν τις αντίστοιχες απαιτήσεις μέλους.
Για παράδειγμα, ο ακόλουθος κώδικας θα περιόριζε την πρόσβαση σε οποιεσδήποτε ενέργειες στο AdministrationController σε χρήστες που είναι μέλη της ομάδας διαχειριστών.
Για παράδειγμα, ο ακόλουθος κώδικας θα περιορίσει οποιαδήποτε μέθοδο στο AdministrationController ώστε να χρησιμοποιείται μόνο με το να είστε μέλος της ομάδας διαχειριστών.
Μπορείτε να καθορίσετε πολλούς ρόλους ως λίστα διαχωρισμένη με κόμματα.
Μπορείτε να προσθέσετε πολλούς ρόλους που έχουν εκχωρηθεί σε μια λίστα διαχωρισμού κόμματος:
Αυτός ο ελεγκτής θα είναι προσβάσιμος μόνο από χρήστες που είναι μέλη του ρόλου HRManager ή του ρόλου Οικονομικών.
Ο υπεύθυνος επεξεργασίας θα είναι προσβάσιμος μόνο σε μέλη του ρόλου HRManager ή του ρόλου Οικονομικών.
Εάν εφαρμόσετε πολλά χαρακτηριστικά, τότε ένας χρήστης πρόσβασης πρέπει να είναι μέλος όλων των καθορισμένων ρόλων. Το παρακάτω δείγμα απαιτεί ότι ένας χρήστης πρέπει να είναι μέλος τόσο του ρόλου PowerUser όσο και του ρόλου ControlPanelUser.
Εάν χρησιμοποιείτε πολλά χαρακτηριστικά, ο χρήστης πρόσβασης πρέπει να είναι μέλος όλων των ρόλων. Το παρακάτω παράδειγμα απαιτεί από έναν χρήστη να είναι μέλος και των δύο ρόλων PowerUser και ControlPanelUser.
Μπορείτε να περιορίσετε περαιτέρω την πρόσβαση εφαρμόζοντας πρόσθετα χαρακτηριστικά εξουσιοδότησης ρόλου σε επίπεδο ενέργειας.
Μπορείτε να χρησιμοποιήσετε πρόσθετα χαρακτηριστικά εξουσιοδότησης ρόλου σε επίπεδο μεθόδου για να εφαρμόσετε πρόσθετους περιορισμούς χρήσης.
Στο προηγούμενο τμήμα κώδικα, τα μέλη του ρόλου διαχειριστή ή του ρόλου PowerUser μπορούν να έχουν πρόσβαση στον ελεγκτή και στην ενέργεια SetTime, αλλά μόνο τα μέλη του ρόλου διαχειριστή μπορούν να έχουν πρόσβαση στο Ενέργεια ShutDown.
Στο προηγούμενο τμήμα κώδικα, τα μέλη των ρόλων Administrator ή PowerUser μπορούν να χρησιμοποιήσουν τις μεθόδους ελεγκτή και SetTime, αλλά μόνο τα μέλη του ρόλου Administrator μπορούν να χρησιμοποιήσουν τη μέθοδο ShutDown.
Μπορείτε επίσης να κλειδώσετε ένα χειριστήριο, αλλά να επιτρέψετε την ανώνυμη, χωρίς έλεγχο ταυτότητας πρόσβαση σε μεμονωμένες ενέργειες.
Μπορείτε επίσης να αποκλείσετε έναν ελεγκτή, αλλά να επιτρέψετε σε ανώνυμους χρήστες να χρησιμοποιούν ξεχωριστές μεθόδους χωρίς εξουσιοδότηση.
Έλεγχοι ρόλων βάσει πολιτικής Έλεγχοι ρόλων βάσει πολιτικής
Οι απαιτήσεις ρόλων μπορούν επίσης να εκφραστούν χρησιμοποιώντας τη νέα σύνταξη πολιτικής, όπου ένας προγραμματιστής καταχωρεί μια πολιτική κατά την εκκίνηση ως μέρος της ρύθμισης παραμέτρων της υπηρεσίας εξουσιοδότησης. Αυτό συνήθως λαμβάνει μέρος στο ConfigureServices() στο αρχείο Startup.cs σας.
Οι ρόλοι μπορούν επίσης να επιτευχθούν χρησιμοποιώντας μια νέα σύνταξη πολιτικής, όπου οι προγραμματιστές καταχωρούν μια πολιτική ως μέρος της ρύθμισης παραμέτρων της υπηρεσίας εξουσιοδότησης κατά την εκκίνηση. Αυτό συνήθως προστίθεται στο ConfigureServices() του αρχείου Sartup.cs.
Οι πολιτικές εφαρμόζονται χρησιμοποιώντας την ιδιότητα Policy στο χαρακτηριστικό AuthorizeAttribute.
Εφαρμόστε την πολιτική χρησιμοποιώντας την ιδιότητα Policy πάνω από την ιδιότητα AuthorizeAttribute.
Εάν θέλετε να καθορίσετε πολλούς επιτρεπόμενους ρόλους σε μια απαίτηση, μπορείτε να τους καθορίσετε ως παραμέτρους στη μέθοδο RequireRole.
Εάν θέλετε να καθορίσετε πολλούς ρόλους σε μια αίτηση, μπορείτε να τους καθορίσετε ως πολλαπλές παραμέτρους της μεθόδου RequireRole:
Το παράδειγμά του εξουσιοδοτεί χρήστες που ανήκουν στους ρόλους Administrator, PowerUser ή BackupAdministrator.
Ο εξουσιοδοτημένος χρήστης σε αυτό το παράδειγμα θα ανήκει στο ρόλο Διαχειριστής, PowerUser ή BackupAdministrator.
Μεταφέρθηκε από:Η σύνδεση με υπερσύνδεσμο είναι ορατή. |