patrickcurl/filament-auth
Composer 安装命令:
composer require patrickcurl/filament-auth
包简介
User & Role (via Spatie Roles/Permissions) Manager Resource For Filament Admin, forked from forked from phpsa/filament-authentication - added Bouncer as an option for permissions as well.
README 文档
README
Filament User Authentication
User Resource For Filament Admin along with Roles & Permissions using Spatie
Installation
You can install the package via composer:
composer require patrickcurl/filament-auth
and now clear cache
php artisan optimize:clear
and publish config
php artisan vendor:publish --tag=filament-auth-config
and optionally views / translations
artisan vendor:publish --tag=filament-auth-views artisan vendor:publish --tag=filament-auth-translations
Additional Resources
Spatie Roles & Permissions
If you have not yet installed this package it run the following steps:
composer require spatie/laravel-permission
- You should publish the migration and the config/permission.php config file with:
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" php artisan migrate
- Add the
Spatie\Permission\Traits\HasRolestrait to your Users model Also add the following method to your User Model:
public function canAccessFilament() : bool { // Change this per your requirements. return $this->hasRole('superadmin'); }
- Add Roles & Permissions as required
For more see: https://spatie.be/docs/laravel-permission/v5/introduction
Bouncer Roles / Permissions
If you have not yet installed this package it run the following steps:
- You should publish the migration and the config/permission.php config file with:
php artisan vendor:publish --provider="Silber\Bouncer\BouncerServiceProvider" php artisan migrate
Add the following method to your User model :
public function canAccessFilament() : bool { // Change this per your requirements. return Bouncer::is($this)->a('superadmin'); }
Implemented, but docs coming soon.
Laravel Impersonate
If you have not configured this package it is automatically added by this install, run the following steps:
- Add the trait
Lab404\Impersonate\Models\Impersonateto your User model. - Setup your permissions: https://github.com/404labfr/laravel-impersonate#defining-impersonation-authorization
Security
Roles & Permissions can be secured using Laravel Policies, create your policies and register then in the AuthServiceProvider
protected $policies = [ Role::class => RolePolicy::class, Permission::class => PermissionPolicy::class, CustomPage::class => CustomPagePolicy::class, SettingsPage::class => SettingsPagePolicy::class // 'App\Models\Model' => 'App\Policies\ModelPolicy', ];
We have a Custom Page Trait: FilamentAuth\Traits\PagePolicyTrait and a Spatie Settings Page Trait FilamentAuth\Traits\SettingsPage\PolicyTrait that you can add to your pages / settings pages.
By defining a model and mapping it with a viewAny($user) method you can define per policies whether or not to show the page in navigation.
Widgets
LatestUsersWidget is by default published to your dashboard, this can be configured / disabled by editing the config in the filament-auth config file:
'Widgets' => [ 'LatesetUsers' => [ 'enabled' => true, 'limit' => 5, ], ],
Note that it is also attached to the UserPolicy::viewAny policy value if the policy exists
--It is planned to update the enabled to accept a callback function to allow for roles etc in the next version--
Profile
Profile view for currently authed user
Extending
Extend Profile:
<?php namespace App\Filament\Pages; use Filament\Pages\Page; use FilamentAuth\Pages\Profile as PagesProfile; class Profile extends PagesProfile {}
or the view: resources/views/vendor/filament-auth/filament/pages/profile.blade.php (you can publish existing one)
Events
FilamentAuth\Events\UserCreated is triggered when a user is created via the Resource
FilamentAuth\Events\UserUpdated is triggered when a user is updated via the Resource
Intergration with other packages
Comming soon
Changelog
Please see CHANGELOG for more information on what has changed recently.
Credits
- Phpsa Forked from this, added Bouncer.
- Patrick Curl Maintainer of this package.
License
The MIT License (MIT). Please see License File for more information.
patrickcurl/filament-auth 适用场景与选型建议
patrickcurl/filament-auth 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 5 次下载、GitHub Stars 达 0, 最近一次更新时间为 2022 年 09 月 29 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「ui」 「cli」 「user」 「laravel」 「resource」 「filament」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 patrickcurl/filament-auth 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 patrickcurl/filament-auth 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 patrickcurl/filament-auth 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Standalone replacement for php's native get_browser() function
User component for Yii2
Slim starter / Slim skeleton package to boost your development with Slim framework
Generates a trait to help ease the access of custom repo methods
Alfabank REST API integration
Eco CLI for Laravel .env syncing
统计信息
- 总下载量: 5
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 30
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-09-29