これはクライアントの要求です。セッションが期限切れになります。これらのケースでは、ユーザがフォームをSQLテーブルにシリアライズして保存し、ユーザがログインした後にフォームをリダイレクトしてデータを再投入すると、データを保持したいと考えていますデータベースから取り出してデシリアライズします。ASP MVCのフォームモデルとは無関係の汎用メソッドによるデータの再ポスト
問題は、認証コードブロックにデータを格納、取得、再送信するすべてのロジックが必要なことです。データの格納、シリアル化、取得、デシリアライズ、それぞれのページへのユーザーのリダイレクトを行う方法はわかっていますが、どのフォームのすべてのモデルでも機能するように汎用性を持たせることはできません。
クライアントは、フォームアクションメソッドでこのタスクのコードを実行したくないです。例:
[HttpPost]
[Authorize]
public ActionResult Create(Post post)
{
if (ModelState.IsValid)
{
post.CreatedBy = (Guid)Membership.GetUser().ProviderUserKey;
post.CreateTime = DateTime.Now;
repo.Add(post);
repo.Save();
return RedirectToAction("Index");
}
else
{
return View(post);
}
}
ご覧のとおり、可能な限りきれいにしておきたいと考えています。彼はこの提案を受けました:
サーバーは、RAWテキスト形式でHTTP要求を受け取ります。このテキストを使用して、オブジェクト(RequestContext、FormCollectionコレクションなど)をビルドします。だから、あなたはフックで構築することができるはずです。生の要求を保存します。成功したログインの後、HTTP要求のこの以前の生のテキストを処理の中に注入することができました。
これを行う方法やMVCで可能であっても、実際にはわかりません。 誰かが助けることができれば、私は非常に感謝します。
おかげで、 ABTeam
クライアントが実装の詳細を指定するのはなぜですか?このために要件文書に要件がありますか? –
本当の疑問は、あなたのクライアントがあなたの代わりに私たちに支払うのはなぜですか? ;) – bzlm
彼はすでにアプリケーションを持っていて、彼が望むのはそのカスタム認証の部分だけで、おそらく他のアプリケーションから実装提案を得ているはずです。これは外注業務であるため、要件文書などはありません。 –