MVC - przekazanie danych z Get do Post

0

Cześć,
Spotkałem się z poniższym problemem. W metodzie akcji Get zwracany jest "wypełniony" ViewModel z polami "id" oraz "content". Użytkownik powinien modyfikować w widoku tylko pole "content". Do "id" nie powinien mieć dostępu, to "id" jest tylko informacją dla metody Post, który obiekt został zmieniony. To "id" muszę wysłać na widok aby nie stracić go. Tylko teraz pojawia się problem. Jak wyślę to na front, jakiś cwaniak może podmienić je i wtedy aplikacja zaktualizuje inny obiekt, lub wywali się jeśli nie będzie takiego id. Więc mam pytanie. W jaki sposób mogę przesłać id do post, tak aby użytkownik nie mógł go zmienić?

4

Na backendzie sprawdzasz, czy użytkownik ma prawa do tego obiektu, jak nie ma, to dostaje po twarzy odpowiednim statusem. Jeśli zmieni sobie na id obiektu, do którego ma dostęp, to nie bardzo, jesteś się wstanie przed tym zabezpieczyć.

0

Może rozwiązaniem będzie TempData?

1

Kod się zawsze powinno się pisać tak, by nieważne co dostanie się na wejściu (czy to jest http, plik w jakimś formacie, czy baza danych, czy użytkownik za klawiaturą), to program powinien w stanie prawidłowo poradzić sobie z danymi (np zgłaszając błąd).

W twoim wypadku powinieneś mieć informacje identyfikującą użytkownika i na tej podstawie rozstrzygnąć, czy ma on prawo do danego zasobu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1