adamibrahim/superauth

Laravel 5.6 身份验证包

v0.2.7 2019-02-02 11:33 UTC

README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

  • Laravel 5.6 身份验证包,具有
  • 多用户类型和角色(超级管理员、管理员、编辑器、用户和特色用户)
  • 用户重定向到正确的页面(个人资料/管理员仪表板)
  • 使用特质(Traits\AuthRedirect)进行已注册用户电子邮件确认
  • 用户角色同步(包括测试视图URL /admin/test, /test/profile)
  • 使用 Laravel 队列作业
  • 可自定义的 Markdown 模板用于通知(确认电子邮件和重置密码)
  • 用户软删除(启用/禁用)
  • 用于在个人资料和仪表板测试的 Auth 角色编辑方法
  • 所有内容、消息和警报均已本地化,两种语言(英语、俄语)的语言文件,要插入语言切换器,请访问我的本地化简单包 adamibrahim/localization

演示

您可以看到工作 演示

登录/个人资料/仪表板路由

- /login (user --not moderator-- login )
- /test/profile (user --not moderator-- profile )
- /admin/login (Moderator login)
- /admin/test (Moderator dashboard)

安装

$ composer require adamibrahim/superauth
如果您在 Laravel 5.5 或更高版本上安装,则可以直接进入发布,否则您需要编辑 composer.json,注册服务提供者和中间件
composer.json

将此代码添加到您的 composer.json 中主目录下的自动加载部分

"psr-4": {
            "Adam\\Superauth\\": "vendor/adamibrahim/superauth/src"
        }
服务提供者

在文件 config/app.php 中,在“包服务提供者...”下注册服务提供者

Adam\Superauth\SuperauthServiceProvider::class,
中间件

如果您使用的是低于 Laravel 5.5 的版本,则需要在 App\Http\Kernel.php 中注册中间件和访客中间件

  • 在 protected $routeMiddleware = [] 数组中添加以下代码
'moderators' => \Adam\Superauth\Middleware\Moderators::class,
'visitor' => \Adam\Superauth\Middleware\Visitor::class,
发布
这将覆盖您的 User.php 模型
$ php artisan vendor:publish --tag=Superauth --force
数据库迁移

运行 Artisan 迁移命令

$ php artisan migrate

播种

运行 Artisan 播种命令

$ php artisan db:seed --class=Adam\Superauth\database\seeds\RolesTableSeeder

Artisan 播种错误

如果您收到找不到类的错误

ReflectionException:类 Adam\Superauth\database\seeds\RolesTableSeeder 不存在

然后您可能需要运行以下命令以卸载自动加载

$ composer dump-autoload

然后再次运行播种命令

$ php artisan db:seed --class=Adam\Superauth\database\seeds\RolesTableSeeder
作业队列

我正在使用队列发送电子邮件(加快应用程序速度),但是如果您不想使用它,您可以在 .env 文件中更改它

QUEUE_DRIVER=sync

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

测试

$ composer test

贡献

有关详细信息,请参阅 CONTRIBUTINGCODE_OF_CONDUCT

安全

如果您发现任何安全相关的问题,请通过发送电子邮件至 :author_email 而不是使用问题跟踪器

致谢

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件