Я работаю над приложением, у которого есть много ролей, которые мне нужно использовать для защиты от вторжения в части приложения на основе этих ролей. Я понимаю, что могу создавать индивидуальные классы защиты для каждой роли, но предпочел бы иметь один класс, который мог бы каким-то образом передать параметр. Другими словами, я хотел бы сделать что-то похожее на это:
{
path: 'super-user-stuff',
component: SuperUserStuffComponent,
canActivate: [RoleGuard.forRole('superUser')]
}
Но поскольку все, что вы проходите, является типом имени вашего охранника, не может придумать, как это сделать. Должен ли я просто пропустить пулю и написать отдельные классы защиты для каждой роли и разрушить мою иллюзию элегантности при использовании только одного параметризованного типа?