2016-08-08 72 views
1

根据Firebase安全规则检测何时授权失败的最佳做法是什么?例如,如果Firebase数据库中的安全规则不允许当前登录的用户访问“/ path/to/data”,它如何被检测到?使用Polymerfire检测Firebase授权失败

<firebase-document 
    id="document" 
    app-name="notes" 
    path="/path/to/data" 
    data="{{data}}"> 
</firebase-document> 
+0

目前还不能一个伟大的方式。我正在考虑添加这个。 –

+0

谢谢你。我可以试着补充一点。你有什么想法应该实施的建议吗?我的基本倾向是添加布尔通知属性permissionAllowed,然后在通过firebase API调用数据库的代码中实现所有承诺,如果在错误函数中收到PERMISSION_DENIED,则将该属性设置为false。例如在_setFirebaseValue函数中设置调用。 – Mario

+0

我已经[得到了一个公关](https://github.com/firebase/polymerfire/pull/94),当听众有问题时会发出错误事件(包括'PERMISSION_DENIED') –

回答

1

由于PolymerFire 0.9.5的读访问时被拒绝的文档和查询元素将发出一个“错误”事件:

<template> 
    <firebase-document 
     id="document" 
     app-name="notes" 
     path="/path/to/data" 
     data="{{data}}" 
     on-error="handleError"> 
    </firebase-document> 
</template> 
<script> 
    Polymer({ 
    handleError: function(e, err) { 
     // handle the error 
    } 
    }); 
</script>