【发布时间】:2010-10-30 22:01:30
【问题描述】:
我正在尝试找到一种处理以下情况的好方法(我对此还是有点陌生):
用户可以使用 RPX/OpenId 提供程序通过我的网站进行注册。
第 1 步:用户通过提供者进行身份验证。提供者将一个临时令牌返回给我的一种操作方法。
第 2 步:我使用令牌获取用户的个人资料信息并加载允许他们输入任何缺少的必填字段和可选字段的视图。
我在第 2 步中使用了 2 种操作方法:一种使用令牌处理信息的抓取。获取授权信息并加载缺失/可选字段视图的第二个操作。
我通过 TempData 将授权信息传递给第二个操作。第二个操作可以处理验证,因此我可能需要保留授权对象来处理超过 1 个请求。我不能使用令牌来重新生成授权信息,因为它在技术上是一次性令牌,并且重新生成请求会很愚蠢,因为它正在使用网络资源。
如何将对象保留在我的 TempData 中以用于对同一操作的任何后续请求,但删除对象以进行任何重定向?既然这在我的应用程序中可能是一个可重复的模式,我是否应该创建一个过滤器来自动处理这种情况?
例如,我想象一个过滤器属性会将 TempData(如果有)合并到 ViewData - 但是我如何将我的数据持久化到未来对同一操作的调用中?再次将其放入 TempData 中?如果我检测到重定向清空 TempData?
谢谢
【问题讨论】:
标签: c# asp.net-mvc viewdata tempdata