1
我正在編寫一個流星應用程序,並且已經習慣了新的鐵路路由器軟件包(與之前使用的路由器軟件包相反)。鐵路由器路由允許/拒絕
我有一個只能由具有特定屬性的用戶訪問的路由集合。具體來說,我使用的是角色包。我目前實現這一目標的方法是定義一個運行條件的before函數,如果用戶沒有適當的角色,則會重定向到登錄或錯誤頁面。這裏只是一個快速(咖啡腳本)的例子:
this.route 'home',
path: '/'
template: 'dashboard'
before: ->
unless Meteor.userId()
this.redirect 'userUnauthorized'
do this.stop
我的問題是,有沒有更好的方法來做到這一點?似乎應該有一些方法來添加權限集,並將該權限集應用於路由,而不是爲每條路由編寫訪問條件。
嗨斯賓塞。你的方法是否安全?我的意思是,路由器在客戶端上可用。 –
無論是否重定向,您都無法阻止用戶看到您發送給客戶端的任何模板。正如你所說,路由器可以在客戶端上使用,據我所知,路由更像是UI/UX類型的東西。 您可以並且應該做的是確保您不會向用戶發送任何收集或數據,而這些用戶不應該看到它們,並且您可以執行此操作。如果您將敏感數據嵌入到視圖模板中,則會出現問題。最終,用戶可以訪問我們應用的任何頁面。該頁面上呈現的內容基於該用戶的角色/權限。 – Spencer