首頁 > 後端開發 > php教程 > 消除使用Sentinel用戶授權的痛苦

消除使用Sentinel用戶授權的痛苦

William Shakespeare
發布: 2025-02-16 10:48:13
原創
559 人瀏覽過

>本文演示了使用Slim Micro-Framework和Cartalyst的Sentinel軟件包構建一個簡單的演示應用程序,以供用戶授權。 Sentinel簡化了用戶管理,包括角色,權限和身份驗證,在多用戶應用程序中。

Removing the Pain of User Authorization with Sentinel

關鍵功能和好處:>

簡化的用戶授權:Sentinel提供了用於管理用戶,組和權限的用戶友好的API。
    框架集成:與Slim and Laravel合作良好,為角色創建,身份驗證和權限控制提供了工具。
  • >簡單的角色實施:創建和管理角色具有詳細的權限設置很簡單。
  • >
  • 增強的安全性:包括用戶激活和密碼提醒系統,以通過電子郵件驗證和密碼重置提高安全性。
  • >實際示例:該教程在示例應用程序中提供了Sentinel功能的動手演示。
  • 設置環境:
  • >
該教程利用Slim,Vagrant和Composer。 完整的演示代碼可在GitHub上找到。 首先安裝所需軟件包:

>數據庫設置:

>對於數據庫交互,創建必要的表。 Laravel用戶可以使用遷移:

composer require slim/slim:~2.0 twig/twig:~1.* cartalyst/sentinel:2.0.* illuminate/database illuminate/events symfony/http-foundation ircmaxell/password-compat
登入後複製

否則,在文件頂部添加數據庫連接詳細信息後,手動執行

>應用程序引導(

):
php artisan vendor:publish --provider="Cartalyst\Sentinel\Laravel\SentinelServiceProvider"
php artisan migrate
登入後複製

vendor/cartalyst/sentinel/schema/mysql.sql

>容器綁定(

):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();
登入後複製
為樹枝和雄辯配置容器綁定:

> app/bootstrap/container.php創建角色:

定義角色和權限(此代碼是臨時的,運行一次以填充數據庫):
$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();
登入後複製

文章的其餘部分詳細介紹了創建註冊和登錄頁面,處理用戶激活,實現權限檢查(使用)以及登錄用戶。 代碼示例涵蓋路由,用戶創建,角色分配,激活電子郵件發送以及基於許可的訪問控制。 這篇文章以常見問題解答為例,解決了常見的前哨使用問題。

以上是消除使用Sentinel用戶授權的痛苦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板