2013-03-29 69 views
2

這已經被問的形式類似herehere但它似乎很重要,這個框架下的快速發展,所以我要再次提高它:Meteor.js - 模板權限

假設你登陸頁面需要面對公共互聯網,您如何防止Meteor將所有經過身份驗證的用戶模板發送給未經身份驗證的客戶端?

示例用例:您有一些非常獨特的需要保密的分析/性能指標。您已經構建了模板以可視化每個模板。只需訪問登錄頁面,Meteor就會發送任何隨機模板,即使沒有人工填寫也會披露大量專有信息。

我已經看到了兩個建議:

  1. 中斷聯繫到一個單獨的應用程序。這並沒有解決這個問題,假設管理員登錄面向公共互聯網,除非我失去了一些東西。
  2. 將模板放入public文件夾或等效文件中並動態加載它們。這也沒有幫助,因爲文件名將從其他將發送到客戶端的模板中可見。

我能想到的唯一的事情就是模板字符串存儲在文件夾server,並有客戶端調用Meteor.method登錄後檢索和渲染它們。如果你希望它們像普通的客戶端模板一樣行事,你必須仔細研究內部API(例如,Meteor._def_template)。

有沒有更優雅的方式來做到這一點?

+0

在這一刻,這些是最優雅的方式來做到這一點!我想你可能也看過流星談話呢?更優雅的是使用流星方法發送模板,使用.def_templates將它們加載到流星 – Akshat

+0

我沒有看到流星談話,但發現它。對於其他人,相關主題是[here](https://groups.google.com/forum/?fromgroups=#!searchin/meteor-talk/templates/meteor-talk/F3DnoieDK00/xQn5Z1jCc5UJ)。 – mukmuk

+0

我是開始線程的人,所以我想我必須完成我的代碼片段,完成它並將其推送到github。 – Akshat

回答