我在ASP.NET中編寫代碼,但它不是一個語言相關的問題。每當我編寫Web應用程序,並使用剃刀視圖顯示數據庫中的一些數據時,我都遇到了這個問題。例如我有我的數據庫中的Id和Name的簡單表。我想使用EditorFor字段顯示名稱的表。用戶可以編輯所有數據並保存。因此,我使用行ID作爲EditorFor Id,在javascript方法中讀取輸入值,使用WebMethod將它們傳遞給Controller並將更改保存到數據庫。但在這種情況下,我可以在Firebug中更改EditorFor Id並通過錯誤的ID傳遞更改。在這種情況下編輯數據的方式是什麼?當他可以編輯一行時,我不想單擊編輯鏈接並重定向用戶編輯頁面。我有數據庫中的5行與名稱,我想一次編輯所有這些。從剃刀視圖中的數據庫編輯數據
0
A
回答
0
這是某種安全性,您必須在這種情況下添加安全方法。
一種方法是對您的安全結構使用RBAC方法。例如:
創建一個表並將其命名爲user_groups,然後創建具有和user_groups外鍵的用戶表
然後還將外鍵添加到您的「簡單表」(具有id和名稱)到user_groups,即代表巫婆user_groups可以更新該行,
我這很清楚。當某人想要編輯一行時,您檢查該用戶是否有權更改該行?
您可以在ASP MVC搜索術語 「角色基本訪問控制」,
同樣的東西在這裏有用:
http://www.webdevbros.net/2009/12/16/role-based-access-control-in-asp-net-mvc/
0
[HttpPost]
public ActionResult EditEmailTemplate(EmailTemplate_Mst emailTemplate_Mst, string Command, int id = 0)
{
try
{
EmailTemplate_Mst et = _repository.GetEmailById(id);
if (Command == "Update")
{
et.Title = emailTemplate_Mst.Title;
et.EmailTemplate_Content = emailTemplate_Mst.EmailTemplate_Content;
et.EmailTemplate_LastModifyBy = Convert.ToInt64(Session["UserId"].ToString());
et.EmailTemplate_LastModifyDate = DateTime.Now;
_repository.UpdateEmail(et);
return RedirectToAction("ViewEmailTemplate");
}
}
catch (Exception)
{
ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator.");
}
return View(new { id = emailTemplate_Mst.EmailTemplate_Id });
}
相關問題
- 1. ASP.NET剃刀編輯數據頁
- 2. 如何從數據庫顯示圖像到剃刀視圖?
- 3. MVC6從數據庫加載剃刀視圖
- 4. 編輯查看模板剃刀視圖
- 5. 在WebMatrix中使用ASP.NET剃刀編輯數據頁面
- 6. 從數據庫顯示的圖像在剃刀/ MVC5(Asp.net)
- 7. 如何將數據從剃鬚刀傳遞到視圖包
- 8. 從控制器動作傳遞JSON數據到剃刀視圖
- 9. 動態剃刀數據源
- 10. 用剃刀保存數據
- 11. ASP.NET MVC 3剃鬚刀 - 從自定義編輯器中獲取數據
- 12. MVC剃刀從子視圖
- 13. PHP編輯數據庫中的數據
- 14. 在剃刀中顯示一對多的關係編輯視圖
- 15. ASP.Net中的可編輯DropdownList MVC4剃刀視圖[_Duplicate]
- 16. 轉換數據庫檢索字節數組在剃刀視圖MVC
- 17. 顯示來自剃鬚刀數據庫的列表圖像
- 18. 將數據從剃鬚刀視圖傳遞到mvc中的控制器
- 19. 如何在單個剃刀視圖中編輯多個模型
- 20. ASP.Net剃刀視圖
- 21. 剃刀視圖引擎數據輸入表格
- 22. MS MVC(剃鬚刀)訪問視圖數據serializartion
- 23. 模型數據爲空視圖回傳mvc4剃鬚刀
- 24. 如何在mvc3中將數據從剃鬚刀視圖傳遞給控制器?
- 25. 從模型中讀取數據並在剃鬚刀視圖上顯示 - mvc
- 26. 如何使用剃鬚刀插入圖像到數據庫(asp.net)
- 27. 來自剃鬚刀視圖的通話後編輯動作mvc4
- 28. 從剃鬚刀MVC實現POST到數據庫
- 29. MVC 4剃鬚刀視圖,如何讓視圖翻譯從數據庫加載的@model或@form?
- 30. 從剃鬚刀視圖中獲取整數的假值
那不是我問。當用戶無法修改數據時,情況並非如此。比方說,我有名字的表格:dog(id = 1),cat(id = 2),frog(id = 3)。用戶將Frog改爲Fox,但他也將Firebug中的ID從3改爲2。因此,當他保存數據時,Cat已更改爲Fox,因爲它的id = 2。如何避免這種情況? – user3482724 2014-09-01 21:05:38
真的不清楚你在問什麼。在你談論用戶編輯錯誤記錄的問題中,最後你要問如何編輯多個記錄,然後在你的評論中再次詢問如何防止某人編輯錯誤的記錄。要回答您的評論...爲防止用戶編輯記錄,他們不允許編輯,請在執行編輯前檢查用戶的權限。 *總是*檢查用戶的權限。 *永遠不會*隱式信任來自客戶端的數據。 – David 2014-09-01 21:12:04
如果任何用戶可以修改任何數據,那麼如果他們通過首先選擇顯示編輯器的ID來選擇數據以便更新它,或者如果他們通過將數據填充到url來更新它,那麼它有什麼問題?這聽起來像你正在使用ajax客戶端帖子,而不是提交表單。這繞過了MVC保護。 – 2014-09-01 21:12:19