c# – 在ASP.NET MVC中将敏感数据从一个页面传递到另一个页面的最佳方法是什么?

我正在设计一个Web应用程序,它必须在页面之间传递敏感信息(如用户的帐号),直到用户完成(应用程序就像向导),用于记录目的.存储此数据的最佳方法是什么,以便流程中的每个页面都可以访问数据?我应该将它存储在会话中吗?在数据库中,然后在结束时删除它?我还没有想到的一些方法呢? 最佳答案 我个人试图避免使用会话
where possible.以下是我在处理向导类型方案时所知道的选项:

选项1

使用Nadeem Afana’s blog中讨论的JQuery.页面逐个显示给用户,但直到最后一页才提交信息.

选项2

每个页面上的信息是否敏感?它的结构是否可以在最终页面上询问敏感信息?如果是这样,您可以按照Darin Dimitrovs answer中的讨论在页面之间序列化数据,而不是在最后一页上提供后退按钮.或者,使用相同的MVC Futures序列化软件可以轻松加密序列化的数据,尽管我不确定您的信息有多敏感以及您是否愿意依赖此信息.答案还提到了Stepy等替代品,但我没有这方面的经验.

选项3

如果信息是敏感的,您可以在请求之间向数据库写入/读取信息.

选项4

最后,如果您不能使用上述任何一个,那么我将使用Session或TempData(它是会话的包装器)但要注意使用TempData,如果用户刷新页面,那么信息将丢失.

点赞