fix(seed): grant SuperAdmin role to admin@food-market.local
Раздел /super-admin в UI прячется за me.roles.includes('SuperAdmin').
Сидер при создании admin'а назначал только SystemRoles.Admin —
SuperAdmin висел как Identity-роль в роле-каталоге, но никому не был
выдан. Из-за этого SuperAdmin-консоль на стенде была не видна в меню.
Фикс: при создании admin'а сразу AddToRoleAsync(SuperAdmin). Для уже
развёрнутых стендов — догоняющая ветка else if (!IsInRoleAsync(SuperAdmin))
догоняет существующую учётку при следующем рестарте API.
На стенде роль уже выдана вручную через INSERT в AspNetUserRoles.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
e3bc5cacfc
commit
a7fcc9f9e1
|
|
@ -79,8 +79,14 @@ public async Task StartAsync(CancellationToken ct)
|
||||||
if (result.Succeeded)
|
if (result.Succeeded)
|
||||||
{
|
{
|
||||||
await userMgr.AddToRoleAsync(admin, SystemRoles.Admin);
|
await userMgr.AddToRoleAsync(admin, SystemRoles.Admin);
|
||||||
|
await userMgr.AddToRoleAsync(admin, SystemRoles.SuperAdmin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (!await userMgr.IsInRoleAsync(admin, SystemRoles.SuperAdmin))
|
||||||
|
{
|
||||||
|
// Существующий admin без SuperAdmin — догоняем (для уже развёрнутых стендов).
|
||||||
|
await userMgr.AddToRoleAsync(admin, SystemRoles.SuperAdmin);
|
||||||
|
}
|
||||||
|
|
||||||
await SeedAdminEmployeeAsync(db, demoOrg.Id, admin?.Id, ct);
|
await SeedAdminEmployeeAsync(db, demoOrg.Id, admin?.Id, ct);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue