2

我在绑定表单数据的操作上有一个“授权”属性。

如果用户提交表单但未获得授权,则会出现登录提示。登录后,用户被正确重定向,但模型为空。

如何处理?

4

3 回答 3

2

一个基本的解决方案是创建一个新的 ActionFilter 属性,其行为类似于 Authorize,不同之处在于它会在重定向之前将模型存储在 Session 中,然后用户登录,然后重定向回数据表单。然后当授权用户获得数据表单时,用可能存储的值填写数据表单,用户可以再次提交填写的表单。您可以根据需要更改它,甚至将数据存储在客户端,这必须是可能的,但主要思想是使用自定义授权 ActionFilter 在重定向之前存储模型,而不是授权。

于 2009-02-01T15:03:47.060 回答
1

这总是一个问题,并且需要您跳过很多圈才能保持这种状态。您始终可以将模型双重存储在 Session 和 ViewState 中,这样如果用户来自具有空模型的地方,您可以在 Session 中查找它。

于 2009-01-24T23:11:29.510 回答
1

我考虑过但从未尝试过的一件事是将登录提示显示为同一页面上的模式对话框,而不是重定向到单独的登录页面然后重定向回来。登录 GUI 逻辑通常很简单,您不需要单独的视图。

例如,您可以将登录公开为使用 Json 消息编码的简单 WCF 服务,然后使用 jQuery 从您的模态对话框中与其对话。

于 2009-02-01T05:35:23.023 回答