2011-05-11 55 views
0

我有以下問題:我有一個視圖(編輯一個對象),它有一個ViewModel,並且在ViewModel中故意省略了Id它代表的對象。這樣,黑客就不會改變formvalues並將Id發佈到服務器本身。我仍然在控制器中使用模型綁定,我當然不包括Id,但是兩層安全性比一個更安全。如何用ExtJs發佈一個對象的Id到MVC控制器

現在我添加了一個刪除按鈕到視圖。控制器上的函數需要一個Id,我看到其他人從(視圖)模型中獲取Id,但這需要將其添加到ViewModel,我希望這不是必需的。加載editview的控制器操作的Url知道Id。

我可以在不添加Id的情況下解決此問題嗎?

handler: function(btn) {debugger; 
         var conn = new Ext.data.Connection(); 

         conn.request 
         (
          { 
           url: '<%= Url.Action("DeleteHourType") %>', 
           method: 'POST', 
           success: function(resp) { 
            var url = JSON.parse(resp.responseText).redirect; 
            window.location = url; 
           } 
          } 
         ); 
         } 

回答

2

不,您需要將ID存儲在客戶端的某處。如果您有此擔心,您可以隨時加密該值。

與其避免在視圖中放置Ids,確保場景後面發生的任何操作執行安全檢查,以便用戶a不能編輯用戶b的內容。默默無聞的安全性,通過不向客戶發佈身份證,從來就沒有問題。

相關問題