[FEAT] 優化部署流程:加入 RoleSeeder 與 AdminUserSeeder,並實作權限系統基礎架構與多租戶隔離機制
All checks were successful
star-cloud-deploy-demo / deploy-demo (push) Successful in 48s
All checks were successful
star-cloud-deploy-demo / deploy-demo (push) Successful in 48s
This commit is contained in:
@@ -27,19 +27,20 @@ class AdminUserSeeder extends Seeder
|
||||
'name' => 'Admin',
|
||||
'email' => 'admin@star-cloud.com',
|
||||
'password' => Hash::make('password'),
|
||||
'role' => 'admin',
|
||||
]);
|
||||
$admin->assignRole('super-admin');
|
||||
return;
|
||||
}
|
||||
|
||||
User::create([
|
||||
$admin = User::create([
|
||||
'username' => 'admin',
|
||||
'name' => 'Admin',
|
||||
'email' => 'admin@star-cloud.com',
|
||||
'password' => Hash::make('password'),
|
||||
'role' => 'admin',
|
||||
]);
|
||||
|
||||
$admin->assignRole('super-admin');
|
||||
|
||||
$this->command->info('Admin 帳號建立成功!');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ class DatabaseSeeder extends Seeder
|
||||
public function run(): void
|
||||
{
|
||||
$this->call([
|
||||
RoleSeeder::class,
|
||||
AdminUserSeeder::class,
|
||||
MachineSeeder::class,
|
||||
MemberSeeder::class,
|
||||
|
||||
31
database/seeders/RoleSeeder.php
Normal file
31
database/seeders/RoleSeeder.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use Illuminate\Database\Seeder;
|
||||
use Spatie\Permission\Models\Role;
|
||||
use Spatie\Permission\Models\Permission;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class RoleSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
// 重設快取
|
||||
app()[\Spatie\Permission\PermissionRegistrar::class]->forgetCachedPermissions();
|
||||
|
||||
// 建立角色
|
||||
Role::updateOrCreate(
|
||||
['name' => 'super-admin'],
|
||||
['is_system' => true]
|
||||
);
|
||||
|
||||
Role::updateOrCreate(
|
||||
['name' => 'tenant-admin'],
|
||||
['is_system' => true]
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user