suchen
HeimBackend-EntwicklungPHP-TutorialEntfernen Sie den Schmerz der Benutzerautorisierung mit Sentinel

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

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!

Stellungnahme
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
Was ist die vollständige Form von PHP?Was ist die vollständige Form von PHP?Apr 28, 2025 pm 04:58 PM

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.

Wie handelt es sich bei PHP um Formulardaten?Wie handelt es sich bei PHP um Formulardaten?Apr 28, 2025 pm 04:57 PM

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

Was ist der Unterschied zwischen PHP und ASP.NET?Was ist der Unterschied zwischen PHP und ASP.NET?Apr 28, 2025 pm 04:56 PM

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,

Ist PHP eine Fallempfindlichkeit?Ist PHP eine Fallempfindlichkeit?Apr 28, 2025 pm 04:55 PM

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.

Wie leiten Sie eine Seite in PHP um?Wie leiten Sie eine Seite in PHP um?Apr 28, 2025 pm 04:54 PM

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.

Erklären Sie den Typ, der in PHP angezeigt wirdErklären Sie den Typ, der in PHP angezeigt wirdApr 28, 2025 pm 04:52 PM

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.

Was ist PDO in PHP?Was ist PDO in PHP?Apr 28, 2025 pm 04:51 PM

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.

Wie erstelle ich API in PHP?Wie erstelle ich API in PHP?Apr 28, 2025 pm 04:50 PM

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.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor