Dieser Artikel zeigt, dass das Erstellen einer einfachen Demo-Anwendung mit Slim Micro-Framework und dem Sentinel-Paket von Cartalyyst für die Benutzerautorisierung erstellt wird. Sentinel optimiert die Benutzerverwaltung, einschließlich Rollen, Berechtigungen und Authentifizierung, in Multi-Benutzer-Anwendungen.
Schlüsselfunktionen und Vorteile:
- vereinfachte Benutzerautorisierung: Sentinel bietet eine benutzerfreundliche API für die Verwaltung von Benutzern, Gruppen und Berechtigungen.
- Framework -Integration: Funktioniert gut mit Slim und Laravel und bietet Tools für die Erstellung von Rollen, Authentifizierung und Berechtigungssteuerung.
- Einfache Rollenimplementierung: Erstellen und Verwalten von Rollen mit detaillierten Berechtigungseinstellungen ist unkompliziert.
- Verbesserte Sicherheit: Beinhaltet Benutzeraktivierung und Kennwort -Erinnerungssysteme für eine verbesserte Sicherheit per E -Mail -Überprüfung und Kennwortresets.
- Praktisches Beispiel: Das Tutorial bietet eine praktische Demonstration der Fähigkeiten von Sentinel in einer Beispielanwendung.
Einrichten der Umgebung:
In diesem Tutorial wird schlank, vagrant und Komponist verwendet. Der vollständige Demo -Code ist auf GitHub verfügbar. Beginnen Sie mit der Installation der erforderlichen Pakete:
composer require slim/slim:~2.0 twig/twig:~1.* cartalyst/sentinel:2.0.* illuminate/database illuminate/events symfony/http-foundation ircmaxell/password-compat
Datenbank -Setup:
Erstellen Sie für die Datenbankinteraktion die erforderlichen Tabellen. Laravel -Benutzer können Migrationen verwenden:
php artisan vendor:publish --provider="Cartalyst\Sentinel\Laravel\SentinelServiceProvider" php artisan migrate
Andernfalls führen Sie vendor/cartalyst/sentinel/schema/mysql.sql
manuell aus, nachdem Sie Ihre Datenbankverbindungsdetails oben in der Datei hinzugefügt haben.
Anwendungsbootstrap (public/index.php
):
<?php require_once __DIR__.'/../vendor/autoload.php'; $app = new \Slim\Slim(); //register bindings include_once __DIR__.'/../app/bootstrap/container.php'; include_once __DIR__.'/../app/routes.php'; $app->run();
Containerbindungen (app/bootstrap/container.php
):
Konfigurieren Sie Containerbindungen für Zweig und eloquent:
$app->container->twigLoader = new Twig_Loader_Filesystem(__DIR__.'/../views'); $app->container->twig = new Twig_Environment($app->container->twigLoader, array( 'cache' => false, )); $capsule = new \Illuminate\Database\Capsule\Manager(); $capsule->addConnection([ 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'capsule', 'username' => 'root', 'password' => 'root', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', ]); $capsule->bootEloquent(); $app->container->sentinel = (new \Cartalyst\Sentinel\Native\Facades\Sentinel())->getSentinel();
Rollen erstellen:
Rollen und Berechtigungen definieren (dieser Code ist vorübergehend, ausgeführt einmal, um die Datenbank zu bevölkern):
$app->container->sentinel->getRoleRepository()->createModel()->create(array( 'name' => 'Admin', 'slug' => 'admin', 'permissions' => array( 'user.create' => true, 'user.update' => true, 'user.delete' => true ), )); $app->container->sentinel->getRoleRepository()->createModel()->create(array( 'name' => 'User', 'slug' => 'user', 'permissions' => array( 'user.update' => true ), ));
Der Rest der Artikeldetails erstellt Anmelde- und Anmeldeseiten, die Aktivierung der Benutzeraktivierung, die Implementierung von Berechtigungsüberprüfungen (mit hasAccess()
) und die Anmeldung von Benutzern. Die Code-Beispiele decken Routing, Benutzererstellung, Rollenzuweisung, Aktivierungs-E-Mail-Senden und Berechtigungsbasis-Zugriffskontrolle ab. Der Artikel endet mit einem FAQ
Das obige ist der detaillierte Inhalt vonEntfernen Sie den Schmerz der Benutzerautorisierung mit Sentinel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

In dem Artikel werden PHP erörtert, in dem die vollständige Form, Hauptnutzungen in der Webentwicklung, der Vergleich mit Python und Java und seine Lernen des Lernens für Anfänger beschrieben werden.

PHP behandelt Formdaten mit $ \ _ post und $ \ _ GET Superglobals, wobei die Sicherheit durch Validierung, Bereinigung und sichere Datenbankinteraktionen gewährleistet ist.

Der Artikel vergleicht PHP und ASP.NET und konzentriert sich auf ihre Eignung für groß angelegte Webanwendungen, Leistungsunterschiede und Sicherheitsfunktionen. Beide sind für große Projekte lebensfähig, aber PHP ist Open-Source und plattformunabhängig, während ASP.NET,

Die Fallempfindlichkeit von PHP variiert: Funktionen sind unempfindlich, während Variablen und Klassen empfindlich sind. Zu den Best Practices gehören eine konsistente Benennung und Verwendung von Fall-unempfindlichen Funktionen für Vergleiche.

In dem Artikel werden verschiedene Methoden für die Umleitung von Seiten in PHP erörtert, wobei der Schwerpunkt auf der Funktion Header () und in Bezug auf gängige Probleme wie "bereits gesendete" Headers -Fehlern angegangen wird.

In Artikel wird der Typ in PHP angezeigt, eine Funktion zum Angeben erwarteter Datentypen in Funktionen. Das Hauptproblem ist die Verbesserung der Codequalität und der Lesbarkeit durch Typdurchsetzung.

In dem Artikel werden PHP -Datenobjekte (PDO) erörtert, eine Erweiterung für den Datenbankzugriff in PHP. Es zeigt die Rolle von PDO bei der Verbesserung der Sicherheit durch vorbereitete Aussagen und deren Vorteile gegenüber MySQLI, einschließlich Datenbankabstraktion und besserer Fehlerbehandlung.

In Artikel werden PHP -APIs erstellt und gesichert und Schritte von der Endpunktdefinition bis zur Leistungsoptimierung mithilfe von Frameworks wie Laravel und besten Sicherheitspraktiken beschrieben.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor
