我正在设计一个 Web 应用程序,它必须从一个页面到另一个页面传递敏感信息(如用户的帐号),直到用户完成(该应用程序就像一个向导),用于记录目的。存储此数据的最佳方式是什么,以便流程中的每个页面都可以访问数据?我应该将它存储在会话中吗?在数据库中,然后在最后删除它?一些我还没有想到的方法?
问问题
2350 次
2 回答
2
我个人尽量避免使用会话。以下是我在处理向导类型场景时所知道的选项:
选项1
使用Nadeem Afana 的博客中讨论的 JQuery 。页面将一页一页地显示给用户,但直到最后一页才提交信息。
选项 2
每个页面上的信息都敏感吗?是否可以对其进行结构化,以便仅在最后一页上要求提供敏感信息?如果是这样,您可以按照Darin Dimitrovs 的回答中讨论的那样跨页面序列化数据,而不是在最后一页上提供后退按钮。或者,可以使用相同的 MVC Futures 序列化软件轻松加密序列化的数据,尽管我不确定您的信息有多敏感以及您是否想要依赖它。答案还提到了诸如Stepy 之类的替代方案,但我对此没有经验。
选项 3
如果信息很敏感,您可以在请求之间将信息写入/读取到数据库。
选项 4
最后,如果您不能使用上述任何方法,那么我将使用 Session 或 TempData(它是会话的包装器),但请注意使用 TempData,如果用户刷新页面,则信息将丢失。
于 2012-05-10T09:36:33.087 回答
0
会话对我来说听起来不错,它(几乎)自动消失。
如果您偏执,那么您可以对其进行加密或将其存储在其他地方并通过哈希找到它。那么这个“其他地方”就是你的下一个保存点 - 足够 - ?
只要确保它没有到达网络客户端。
于 2012-05-10T08:59:33.723 回答