更新:
以下是两篇文章,可以帮助您入门:
在这些文章中经常使用的$data.createODataServer
方法是一个方便的方法,它将连接/express管道隐藏起来。要与管道交互,请查看位于node_modules / odata-server文件夹中的$data.createODataServer
函数的方法体。
请忽略下面的文本
身份验证必须通过连接管道解决,有许多中间件可用于此。
对于授权,EntityContext构造函数接受一个授权函数,该函数必须支持Promise。
所有允许的授权者看起来像这样。
function checkPerm(access, user, entitysets, callback) {
var pHandler = new $data.PromiseHandler();
var clbWrapper = pHandler.createCallback(callback);
var pHandlerResult = pHandler.getPromise();
clbWrapper.success(true);
return pHandlerResult;
}
我需要与团队成员咨询一下如何将此语法传递到构建过程中,但我可以确认这是可行的并且受支持的。我会尽快回复答案。
在验证用户身份后,您还可以使用EntityContext级别事件来拦截读取/更新/创建/删除操作。
$data.EntityContext.extend({
MySet: { type: $data.EntitySet, elementType: Foobar,
beforeDelete: function(items) {
return false
}
});
还有一种声明性的方法,您可以在实体集上注释角色名称及其权限,这要求您的用户对象实际上具有一个具有角色名称数组的角色字段。
$data
和$data.oDataServer
部分中。您能告诉我在哪里寻找它吗? - Venemo