Προγραμματισμός

Γνώση Υπολογιστών >> Προγραμματισμός >  >> ρουμπίνι Προγραμματισμός

Όταν δημιουργείτε ένα Bean, πώς κάνετε τις ιδιότητές του διαθέσιμες σε όλους τους πιθανούς χρήστες;

Υπάρχουν μερικοί τρόποι για να κάνετε τις ιδιότητες ενός φασολιού διαθέσιμες σε όλους τους πιθανούς χρήστες την Άνοιξη:

1. Χρησιμοποιήστε δημόσια πεδία ή λήπτες και ρυθμιστές. Αυτός είναι ο απλούστερος τρόπος για να αποκαλύψετε τις ιδιότητες ενός φασολιού, αλλά δεν είναι πάντα ο πιο ασφαλής. Εάν θέλετε να ελέγξετε την πρόσβαση στις ιδιότητες ενός φασολιού, μπορείτε να χρησιμοποιήσετε τροποποιητές πρόσβασης (π.χ. ιδιωτικός, προστατευμένος, δημόσιος) για να περιορίσετε την πρόσβαση σε συγκεκριμένους ρόλους ή χρήστες.

2. Χρησιμοποιήστε ένεση εξάρτησης. Η έγχυση εξάρτησης είναι ένα μοτίβο σχεδιασμού που σας επιτρέπει να εισάγετε εξαρτήσεις (δηλαδή, άλλα φασόλια) σε ένα φασόλι. Αυτό σας επιτρέπει να έχετε πρόσβαση στις ιδιότητες άλλων φασολιών χωρίς να χρειάζεται να δημιουργήσετε και να διαχειριστείτε αυτά τα φασόλια μόνοι σας. Η έγχυση εξάρτησης μπορεί να χρησιμοποιηθεί για τον έλεγχο της πρόσβασης στις ιδιότητες ενός φασολιού εισάγοντας μόνο εξαρτήσεις στις οποίες ο χρήστης έχει εξουσιοδότηση να έχει πρόσβαση.

3. Χρησιμοποιήστε το Spring Security. Το Spring Security είναι ένα πλαίσιο που παρέχει ολοκληρωμένη ασφάλεια για εφαρμογές Spring. Μπορείτε να χρησιμοποιήσετε το Spring Security για να ελέγξετε την πρόσβαση στις ιδιότητες ενός bean ορίζοντας κανόνες ασφαλείας και δικαιώματα. Το Spring Security μπορεί επίσης να χρησιμοποιηθεί για τον έλεγχο ταυτότητας και την εξουσιοδότηση χρηστών, ώστε να μπορείτε να διασφαλίσετε ότι μόνο εξουσιοδοτημένοι χρήστες έχουν πρόσβαση στις ιδιότητες ενός bean.

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

```java

δημόσια τάξη MyBean {

δημόσιο όνομα συμβολοσειράς;

δημόσια int ηλικία?

}

```

Σε αυτό το παράδειγμα, οι ιδιότητες της κλάσης "MyBean" εκτίθενται ως δημόσια πεδία. Αυτό σημαίνει ότι οποιοσδήποτε χρήστης της κλάσης «MyBean» μπορεί να έχει πρόσβαση στις ιδιότητες του φασολιού. Αυτό θα μπορούσε να είναι κίνδυνος ασφάλειας, επομένως θα πρέπει να εξετάσετε το ενδεχόμενο να χρησιμοποιήσετε τροποποιητές πρόσβασης (π.χ. ιδιωτικοί, προστατευμένοι, δημόσιοι) για να περιορίσετε την πρόσβαση σε ορισμένους ρόλους ή χρήστες.

Ακολουθεί ένα παράδειγμα για το πώς μπορείτε να χρησιμοποιήσετε την ένεση εξάρτησης για να εκθέσετε τις ιδιότητες ενός φασολιού:

```java

δημόσια τάξη MyBean {

ιδιωτικό όνομα συμβολοσειράς;

ιδιωτική int ηλικία?

δημόσιο MyBean (Όνομα συμβολοσειράς, int ηλικία) {

this.name =όνομα;

this.age =ηλικία;

}

δημόσια συμβολοσειρά getName() {

όνομα επιστροφής·

}

public int getAge() {

ηλικία επιστροφής?

}

}

δημόσια κλάση MyController {

@Autowired

ιδιωτικό MyBean myBean?

δημόσια συμβολοσειρά getMyBeanName() {

επιστροφή myBean.getName();

}

}

```

Σε αυτό το παράδειγμα, η κλάση «MyBean» έχει ιδιωτικά πεδία και λήπτες και ρυθμιστές για τις ιδιότητές της. Αυτό αποτρέπει οποιονδήποτε χρήστη της κλάσης «MyBean» από την άμεση πρόσβαση στις ιδιότητες του φασολιού. Ωστόσο, η κλάση «MyBean» εισάγεται στην κλάση «MyController» χρησιμοποιώντας ένεση εξάρτησης. Αυτό επιτρέπει στην κλάση «MyController» να έχει πρόσβαση στις ιδιότητες της κλάσης «MyBean» χρησιμοποιώντας τους δέκτες και τους ρυθμιστές.

Ακολουθεί ένα παράδειγμα για το πώς μπορείτε να χρησιμοποιήσετε το Spring Security για να ελέγξετε την πρόσβαση στις ιδιότητες ενός φασολιού:

```java

δημόσια τάξη MyBean {

ιδιωτικό όνομα συμβολοσειράς;

ιδιωτική int ηλικία?

δημόσιο MyBean (Όνομα συμβολοσειράς, int ηλικία) {

this.name =όνομα;

this.age =ηλικία;

}

δημόσια συμβολοσειρά getName() {

όνομα επιστροφής·

}

public int getAge() {

ηλικία επιστροφής?

}

}

δημόσια κλάση MyController {

@Autowired

ιδιωτικό MyBean myBean?

@Secured("ROLE_ADMIN")

δημόσια συμβολοσειρά getMyBeanName() {

επιστροφή myBean.getName();

}

}

```

Σε αυτό το παράδειγμα, η κλάση «MyBean» έχει ιδιωτικά πεδία και λήπτες και ρυθμιστές για τις ιδιότητές της. Αυτό αποτρέπει οποιονδήποτε χρήστη της κλάσης «MyBean» από την άμεση πρόσβαση στις ιδιότητες του φασολιού. Η κλάση «MyController» σχολιάζεται επίσης με τον σχολιασμό «@Secured», ο οποίος καθορίζει ότι μόνο οι χρήστες με το ρόλο «ROLE_ADMIN» μπορούν να έχουν πρόσβαση στη μέθοδο «getMyBeanName()».

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα