質問: 私は、ユーザーテーブルからのuserId列と送信された日付列を持つエンティティを持っています。新しいエンティティを作成するときに使用したい ``` @Html.HiddenFor(m => m.submitteddate) @Html.HiddenFor(m => m.SubmittedById, User.Identity.GetUserId()) ``` 現在の日付とユーザーIDを試してみる ``` @Html.HiddenFor(m => m.submitteddate, DateTime.Now.ToString()) @Html.HiddenFor(m => m.SubmittedById, User.Identity.GetUserId()) ``` しかしそれはうまくいかなかった。 これを達成する最善の方法は何ですか?ビューでそれを行う別の方法がありますか、モデルやコントローラのgetやcontrollerメソッドの変数を設定する必要がありますか? 私は、エンティティフレームワーク6とC#のmvc5、かみそりの構文を使用しています
回答: 私の前のコメントを答えに集める: HTMLの隠しフィールドにユーザーIDを設定すると、エンドユーザーがIDを変更して別のユーザーになりすますことができるため、セキュリティ上の問題が発生します。 この問題を回避するには、投稿した後にコントローラのsubmitteddateとSubmittedByIdを設定します。この方法では、値が設定されていて、正しい値であることを確認できます。