В MVC5 как установить текущую дату и идентификатор пользователя в представлении для отправки нового объекта

asp.net-mvc-5 c# entity-framework-6

Вопрос

У меня есть объект, у которого есть столбец userId из таблицы пользователя и столбца даты отправки. Когда я создаю новый объект, я хотел бы использовать

@Html.HiddenFor(m => m.submitteddate)
@Html.HiddenFor(m => m.SubmittedById, User.Identity.GetUserId())

введите текущую дату и идентификатор пользователя, я попробовал

@Html.HiddenFor(m => m.submitteddate)
@Html.HiddenFor(m => m.SubmittedById, User.Identity.GetUserId())

но это не сработало.

Каков наилучший способ сделать это? Есть ли другой способ сделать это в представлении, или я должен установить переменные в моделях или контроллерах или методы отправки столбцов?

Я использую mvc5, синтаксис бритвы с сущностью framework 6 и c #

Принятый ответ

Собирая мои предыдущие комментарии в ответ:

Установка идентификатора пользователя в скрытом поле в HTML создает проблему безопасности, поскольку конечный пользователь сможет изменить идентификатор, выдавая себя за другого пользователя.

Чтобы избежать этой проблемы, установите после отправки сообщения submitdate и SubmittedById в свой контроллер. Таким образом, вы можете быть уверены, что значения установлены и являются правильными значениями.




Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему