Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Υπάρχουν συγκεκριμένες διαμορφώσεις που απαιτούνται για τη χρήση του πακέτου Spatie αποτελεσματικά


Υπάρχουν συγκεκριμένες διαμορφώσεις που απαιτούνται για τη χρήση του πακέτου Spatie αποτελεσματικά


Για να χρησιμοποιήσετε αποτελεσματικά το πακέτο αδειοδότησης Spatie Laravel, απαιτούνται διάφορες συγκεκριμένες διαμορφώσεις και βήματα εγκατάστασης:

Εγκατάσταση και δημοσίευση

- Εγκαταστήστε το πακέτο μέσω του Composer: `Ο συνθέτης απαιτεί Spatie/Laravel-Permission`.
- Δημοσιεύστε το αρχείο μετανάστευσης και διαμόρφωσης χρησιμοποιώντας την εντολή Artisan:
"PHP Artisan Vendor: Publish --provider =" Spatie \ Permission \ PermissionServiceProvider ".
- Εκτελέστε τις μεταναστεύσεις για να δημιουργήσετε τους απαραίτητους πίνακες (`roles`,` Pominissions ', `model_has_permissions`,` model_has_roles`, `role_has_permissions') στη βάση δεδομένων.

Διαμόρφωση μοντέλου χρήστη

- Το μοντέλο χρήστη (ή οποιοδήποτε αυθεντικό μοντέλο που θέλετε να αντιστοιχίσετε ρόλους/δικαιώματα) πρέπει να χρησιμοποιήσετε το χαρακτηριστικό `Hasroles 'που παρέχεται από το πακέτο. Αυτό επιτρέπει τη διαχείριση του ρόλου και των αδειών στο μοντέλο.

Ρυθμίσεις αρχείου ρυθμίσεων

- Το πακέτο δημοσιεύει ένα αρχείο `config/permission.php` όπου μπορείτε να προσαρμόσετε ρυθμίσεις όπως ονόματα πίνακα, ρυθμίσεις προσωρινής μνήμης και κλάσεις μοντέλων.
- Εάν χρησιμοποιείτε UUIDs αντί για αυτόματη αναγνώριση αναγνωριστικών, πρέπει να προσαρμόσετε τις μεταναστεύσεις και ενδεχομένως το αρχείο ρυθμίσεων πριν από την εκτέλεση μεταναστεύσεων.
-Για ρυθμίσεις πολλαπλών μισθωτών ή ομάδων, πρέπει να ενεργοποιήσετε και να διαμορφώσετε τη λειτουργία "Ομάδων" στο αρχείο ρυθμίσεων.

Διαμόρφωση cache

- Το πακέτο χρησιμοποιεί την προσωρινή αποθήκευση για τη βελτιστοποίηση των αναζητήσεων δικαιωμάτων. Από προεπιλογή, η λήξη της προσωρινής μνήμης έχει οριστεί σε 24 ώρες.
- Μπορείτε να προσαρμόσετε το κατάστημα προσωρινής αποθήκευσης, το πρόθεμα και το χρόνο λήξης στο `config/permission.php` κάτω από τη συστοιχία` cache '.
- Σε σενάρια πολλαπλών μισθωτών, συνιστάται να ορίσετε ένα μοναδικό πρόθεμα cache για να αποφευχθούν συγκρούσεις.
- Εάν η εφαρμογή σας μετατρέπει τους ενοικιαστές κατά τη διάρκεια ενός μόνο αιτήματος, ίσως χρειαστεί να επανεγκαταστήσετε με μη αυτόματο τρόπο την προσωρινή μνήμη αδειών.

middleware

- Για να προστατεύσετε τις διαδρομές που βασίζονται σε ρόλους ή δικαιώματα, καταχωρήστε τα ψευδώνυμα του μεσαίου λογισμικού του πακέτου (`ρόλος ',« άδεια »,` role_or_permission`) στον πυρήνα HTTP ή τη διαμόρφωση του μεσαίου λογισμικού.

Προηγμένη προσαρμογή

- Μπορείτε να επεκτείνετε τα μοντέλα του ρόλου και των αδειών του πακέτου εάν θέλετε να προσαρμόσετε τη συμπεριφορά, αλλά πρέπει να είστε προσεκτικοί για να ενημερώσετε το αρχείο ρυθμίσεων για να δείξετε τα προσαρμοσμένα μοντέλα σας.
- Η αλλαγή των προεπιλεγμένων ονομάτων πίνακα βάσης δεδομένων απαιτεί την ενημέρωση του αρχείου ρυθμίσεων και ενδεχομένως των μεταναστεύσεων.
- Για υποστήριξη UUID ή άλλες περιπτώσεις προηγμένης χρήσης, ακολουθήστε τα προηγμένα τμήματα τεκμηρίωσης του πακέτου.

Συνοπτικά, οι βασικές διαμορφώσεις περιλαμβάνουν τη δημοσίευση και την προσαρμογή του αρχείου ρυθμίσεων, προσθέτοντας το χαρακτηριστικό `Hasroles 'στο μοντέλο χρήστη σας, τη λειτουργία των μεταναστεύσεων, τη σωστή προσωρινή αποθήκευση και την προαιρετική ρύθμιση του μεσαίου λογισμικού και της υποστήριξης πολλαπλών μισθωτών. Μετά από αυτά τα βήματα διασφαλίζει ότι το πακέτο Spatie θα λειτουργήσει αποτελεσματικά στην εφαρμογή Laravel [1] [2] [6] [8] [9].

Αναφορές:
[1] https://spatie.be/docs/laravel-permission/v6/installation-laravel
[2] https://spatie.be/docs/laravel-permission/v6/prerequisites
[3] https://spatie.be/docs/laravel-data/v4/requirements
[4] https://packagist.org/packages/spatie/laravel-settings
[5] https://spatie.be/docs/laravel-html/v3/installation-setup
[6] https://www.honeybadger.io/blog/laravel-permissions-roles/
[7] https://github.com/spatie/laravel-slack-alerts/discussions/22
[8] https://github.com/spatie/laravel-permission/blob/main/docs/advanced-usage/cache.md
[9] https://www.allphptricks.com/laravel-11-spatie-user-roles-and-permissions/
[10] https://stackoverflow.com/questions/58114242/extending-the-spatie-role-model-but-use-a-derferent-database-table