如果您有一个REST API
that is (HATEOAS),您可以通过在响应 ( )hypermedia-driven
中包含或省略链接来轻松更改客户的行为。_links
这使客户端能够完全忘记测试在当前状态下可能执行的操作的权限(操作resource
的链接是否存在)。
此外,如果当前用户无权查看它,您可以在响应中省略属性。
这样授权完全在服务器上完成(并控制有资格执行/查看的操作和属性)。
但是,如果我想拥有read-only
房产怎么办?REST
API
如果请求(_POST_
或_PUT_
)中存在该属性,则忽略该属性是没有问题的。它只是不会被保存。但是客户端如何区分写入和只读属性以向用户呈现适当的控件(如禁用的输入字段在HTML
)?
目标是永远不会拥有client request
用户的权限,而是拥有完全由资源驱动的client/frontend
.
任何帮助是极大的赞赏 :-)