Я заметил, что мы можем создавать собственные декораторы параметров, но я не могу найти способ создать собственные декораторы методов.
Я хотел бы иметь возможность создавать свои собственные версии чего-то похожего в декоратор Authroized
, выполняющий дополнительные проверки. Затем я могу скомпоновать их, добавляя или удаляя декораторы.
Например, маршрут может выглядеть так:
@Authorized()
@SomeCheck()
@SomeOtherCheck()
@Post("/someRoute")
public CompleteOnboarding(){
}
@Authorized()
@SomeCheck()
@ADifferentCheck()
@Post("/someRoute")
public CompleteOnboarding(){
}
Кажется, я могу sh некоторые поддельные 'роли' в Authorized
и пусть мой authorizationChecker
выполнит дополнительные проверки на основе того, что передано 'roles
', но это выглядело как хакерство и не очень расширяемое, поэтому я подумал, может быть, есть другой способ.