我注意到我们能够创建自定义参数装饰器,但是我似乎找不到找到自定义方法装饰器的方法。
我希望能够创建自己的类似于Authroized
装饰器的版本,以执行一些附加检查。然后,我可以通过添加或删除装饰器将它们组合在一起。
例如,一条路线可能看起来像这样:
@Authorized()
@SomeCheck()
@SomeOtherCheck()
@Post("/someRoute")
public CompleteOnboarding(){
}
@Authorized()
@SomeCheck()
@ADifferentCheck()
@Post("/someRoute")
public CompleteOnboarding(){
}
似乎我可以将一些假的“角色”放入Authorized
中,并让我的authorizationChecker
根据传入的“ roles
”执行其他检查,但这似乎是一个有点骇人听闻,而且扩展性很差,所以我想也许还有另一种方法。