Heim > Backend-Entwicklung > PHP-Tutorial > Entfernen Sie den Schmerz der Benutzerautorisierung mit Sentinel

Entfernen Sie den Schmerz der Benutzerautorisierung mit Sentinel

William Shakespeare
Freigeben: 2025-02-16 10:48:13
Original
561 Leute haben es durchsucht

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.

Removing the Pain of User Authorization with Sentinel

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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();
Nach dem Login kopieren

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();
Nach dem Login kopieren

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
    ),
));
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage