Laravel User Management for Laravel 13 with Jetstream
kineticamobile/lumki is a Laravel package for laravel user management for laravel 13 with jetstream.
It currently has 72 GitHub stars and 47.106 downloads on Packagist (latest version v0.2.0).
Install it with composer require kineticamobile/lumki.
Discover more Laravel packages by kineticamobile
or browse all Laravel packages to compare alternatives.
Last updated
Laravel Users Management to Laravel 8 Jetstream (Using Spatie/LaravelPermissions & Lab404/LaravelImpersonate).




| Functionality | Working | Test | | ---------------------- |:-------:|:-----:| | User - Index | ✓ | ⨯ | | User - Edit Roles | ✓ | ⨯ | | Role - Index | ✓ | ⨯ | | Role - Edit Permissions| ✓ | ⨯ | | Role - Create | ✓ | ⨯ | | Permission - Index | ✓ | ⨯ | | Permission - Create | ✓ | ⨯ | | Blade @lumki | ✓ | ⨯ | | Command to Setup | ✓ | ⨯ |
✓/⨯
Via Composer
$ composer require kineticamobile/lumki
$ php artisan lumki:setup
$ php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
$ php artisan vendor:publish --tag=impersonate
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;"
);
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;"
);
$ php artisan migrate
Lumki::insertLineBefore(
base_path("routes/web.php"),
"Route::get('/', function () {",
"Route::impersonate();\n"
);
Lumki::insertLineBefore(
resource_path('views/navigation-dropdown.blade.php'),
"@if (Laravel\Jetstream\Jetstream::hasApiFeatures())",
"\n@lumki\n"
);
$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);
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.
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";
}
}
Please see the changelog for more information on what has changed recently.
Please see contributing.md for details and a todolist.
If you discover any security related issues, please email author email instead of using the issue tracker.
license. Please see the license file for more information.