我目前正在设置一个新的 http4s 服务器并查看身份验证/授权机制并找到 TSec。
在浏览了TSec 的文档和这个示例代码之后,我想不出一种方法来实现基于每个资源的授权。
比如说,我可以执行以下操作来授权管理员用户(取自上面的示例):
TSecAuthService.withAuthorization(AdminRequired) {
case request @ GET -> Root / "account" asAuthed user =>
Ok()
}
但是如何根据路径授权特定帐户的管理员用户:
GET -> Root / "account" / AccountId(accid)
这样只有来自特定帐户(即accid
)的管理员用户被授权?
我查看了此处记录的几个实例,但它们似乎不符合我的要求。