kineticamobile/lumki
Composer 安装命令:
composer require kineticamobile/lumki
包简介
Laravel User Management for Laravel 13 with Jetstream
README 文档
README
Laravel Users Management to Laravel 8 Jetstream (Using Spatie/LaravelPermissions & Lab404/LaravelImpersonate).
Functionalities
| Functionality | Working | Test |
|---|---|---|
| User - Index | ✓ | ⨯ |
| User - Edit Roles | ✓ | ⨯ |
| Role - Index | ✓ | ⨯ |
| Role - Edit Permissions | ✓ | ⨯ |
| Role - Create | ✓ | ⨯ |
| Permission - Index | ✓ | ⨯ |
| Permission - Create | ✓ | ⨯ |
| Blade @lumki | ✓ | ⨯ |
| Command to Setup | ✓ | ⨯ |
✓/⨯
Installation
Via Composer
$ composer require kineticamobile/lumki
Setup over Laravel 8 Jetstream at least one User registered to associate permissions
$ php artisan lumki:setup
Explained setup
Publish spatie/laravel-permissions
$ php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
Publish lab404/laravel-permissions
$ php artisan vendor:publish --tag=impersonate
Add permissions traits to Models/User
Lumki::insertLineAfter( app_path("Models/User.php"), "use Laravel\Jetstream\HasProfilePhoto;", "use Spatie\Permission\Traits\HasRoles;" );
Lumki::insertLineAfter( app_path("Models/User.php"), "use HasProfilePhoto;", "use HasRoles;" );
Add impersonate traits to Models/User
Lumki::insertLineAfter( app_path("Models/User.php"), "use Spatie\Permission\Traits\HasRoles;", "use Lab404\Impersonate\Models\Impersonate;" );
Lumki::insertLineAfter( app_path("Models/User.php"), "use HasRoles;", "use Impersonate;" );
Run migrations
$ php artisan migrate
Add Impersonate Routes
Lumki::insertLineBefore( base_path("routes/web.php"), "Route::get('/', function () {", "Route::impersonate();\n" );
Add Lumki menu items in User's menu
Lumki::insertLineBefore( resource_path('views/navigation-dropdown.blade.php'), "@if (Laravel\Jetstream\Jetstream::hasApiFeatures())", "\n@lumki\n" );
Add roles/permissions
$r1 = Role::firstOrCreate(["name" => "Superadmin"]); $r2 = Role::firstOrCreate(["name" => "Admin"]); $r3 = Role::firstOrCreate(["name" => "User"]); $p1 = Permission::firstOrCreate(['name' => 'manage users']); $r1->givePermissionTo('manage users'); $user = User::first(); $user->assignRole($r1); $user->assignRole($r2); $user->assignRole($r3);
Usage
Customizable prefix for your routes
To change the prefix lumki in your routes you must publish the configuration
$ php artisan vendor:publish --tag=lumki.config
Now, you can edit the file config/lumki.php and change the prefix from 'lumki' to whatever you want, empty string allowed, if this field is null 'lumki' is set as default value.
Error 'GuardDoesNotMatch'
If you are struggling with the error of GuardDoesNotMatch could be that you have modified the provider in your config/auth.php file
In order to solve this problem you can specify the guard name of the model.
Eg: If you are using User Model but with an ldap connection using LdapRecord you can resolve this problem adding the code above in your User Model
class User extends Authenticatable { // ... public function guardName(){ return "web"; } }
Change log
Please see the changelog for more information on what has changed recently.
Contributing
Please see contributing.md for details and a todolist.
Security
If you discover any security related issues, please email author email instead of using the issue tracker.
Credits
License
license. Please see the license file for more information.
kineticamobile/lumki 适用场景与选型建议
kineticamobile/lumki 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 45.52k 次下载、GitHub Stars 达 72, 最近一次更新时间为 2020 年 10 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「laravel」 「users management」 「Lumki」 「laravel 13」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 kineticamobile/lumki 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 kineticamobile/lumki 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 kineticamobile/lumki 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Debugging a problem and need to login as one of your customers? This allows you to authenticate as any of your customers.
A trait for Laravel models which have many users with roles.
The library provides a flexible way to add role-based access control management to CakePHP 3.x
Authorization package for ARCANESOFT/Foundation.
A Silverstripe module to allow you to log into any of your Silverstripe sites from one place.
Task system for APPUI
统计信息
- 总下载量: 45.52k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 72
- 点击次数: 12
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-10-11



