我有一個網絡應用程序是部分Rails和部分Backbone。一些東西,比如我已經實現的評論系統,主要是用Javascript寫在客戶端。 Rails後端通過傳遞JSON來簡單地處理持久性。如何管理客戶端的當前用戶會話?
當我從服務器渲染頁面時,處理誰看到什麼是容易的。我可以說的東西,如
<li class="comment">
<span class="comment_text"><%= @comment.text %></span>
<% if user_signed_in? and current_user == @comment.author %>
<a class="delete" href="some delete url">Delete Comment</a>
<% end %>
</li>
這樣只會使鏈接刪除特定評論,如果當前用戶是評論作者。沒問題。
但是,現在我正在使用JavaScript templates(這是緩存的afaik)在客戶端渲染評論,我無權訪問current_user
。我無法分辨目前使用我的應用程序的用戶是否是評論的作者,因此我無法控制他看到的內容。
當然,他將無法以任何方式刪除評論,因爲我也在服務器上進行了授權,但我寧願不首先顯示hin鏈接。
我該如何做到這一點?
我喜歡關於這個主題的資源以及答案的一些鏈接,因爲我似乎無法找到任何東西,即使在我看來,這是一個本應該在無數博客中討論的主題。
此方法是否可以保存?用戶可以更改當前用戶的ID – ecleel
使用安全,只要你也有服務器端保護,即使用戶更改ID,並嘗試按刪除,他將得到401未經授權的錯誤。顯示並不顯示刪除按鈕是爲了用戶方便,而不是安全。 – AwDogsGo2Heaven