bmatovu / multi-auth
Laravel 多认证
v12.1.0
2024-04-23 17:29 UTC
Requires
- php: ^8.1
- illuminate/auth: ^10.0|^11.0
- illuminate/console: ^10.0|^11.0
- illuminate/notifications: ^10.0|^11.0
- illuminate/routing: ^10.0|^11.0
- illuminate/support: ^10.0|^11.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.14
- orchestra/testbench: ^8.0|^9.0
- phpunit/phpunit: ^10.0|^11.0
Suggests
- inertiajs/inertia-laravel: The Laravel adapter for Inertia.js.
- laravel/breeze: Min. Laravel auth scaffolding with Blade and Tailwind.
- tightenco/ziggy: Use your Laravel named routes in Javascript
- dev-master / 12.x-dev
- v12.1.0
- v12.0.0
- 11.x-dev
- v11.0.0
- 10.x-dev
- v10.4.0
- v10.3.0
- v10.2.0
- v10.1.0
- v10.0.0
- 9.x-dev
- v9.0.0
- 8.x-dev
- v8.0.0
- 7.x-dev
- v7.3.0
- v7.2.0
- v7.1.0
- v7.0.0
- 6.x-dev
- v6.2.0
- v6.1.0
- v6.0.0
- 5.x-dev
- v5.1.1
- v5.1.0
- v5.0.0
- 4.x-dev
- v4.0.0
- 3.x-dev
- v3.0.0
- 2.x-dev
- v2.1.0
- v2.0.0
- 1.x-dev
- v1.2.0
- v1.1.6
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-dependabot/composer/guzzlehttp/psr7-2.5.0
This package is auto-updated.
Last update: 2024-09-23 19:28:29 UTC
README
此包为您提供了在应用程序中分离用户区域的能力。
例如,一个拥有客户、卖家和管理员用户区域的电子商务应用程序,使用 认证守卫
先决条件
此包仅扩展官方的 laravel/breeze
快速启动工具包,它不会重新生成前端资源 [js, css - tailwind, vite, ...]
因此,您需要在使用 Breeze 搭建基本认证之后使用它。
破坏性更改
对于旧版本(Laravel v9及以下)请参阅 v11
安装
composer require bmatovu/multi-auth --dev
搭建
php artisan multi-auth:install admin
注册服务提供者
config/app.php
'providers' => [
/*
* Package Service Providers...
*/
+ App\Modules\Admins\AdminServiceProvider::class,
],
在 Vite 中注册 JS 入口点(Inertia - Vue, React)
vite.config.js
export default defineConfig({ plugins: [ laravel({ - input: 'resources/js/app.js', + input: [ + 'resources/js/app.js', + 'resources/js/Admins/app.js', + ], - ssr: 'resources/js/ssr.js', + ssr: [ + 'resources/js/ssr.js', + 'resources/js/Admins/ssr.js', + ], refresh: true, }), ... ], });
了解更多关于 Inertia 服务器端渲染 的信息
重新编译前端资源
npm run build
运行数据库迁移
php artisan migrate
分离用户区域的可能方法
使用子域名
通过子域名分离用户区域。
我将为每个子域名使用单独的存储库
使用 URL*
根据 URL 分离用户区域。通过认证守卫限制访问
* 此包提供的内容
使用角色
根据用户的角色和权限限制访问
对于大型项目,我会避免使用这种方法,因为它更复杂,难以维护