MVC确保用户按顺序遍历端点

时间:2015-03-12 17:41:16

标签: c# asp.net-mvc asp.net-mvc-4

说我有三个端点

First/foo/bar
Second/fizz/buzz
Third/whatever

这些端点中只有一个一次有效,从第一个开始,然后是第二个,依此类推。这是一个问题,用户试图返回,或者从历史记录中选择其中一个端点 - 它们将显示错误对话框。

我以为我可以使用SessionState跟踪最近访问过的(因而有效的)端点,并根据该信息使用操作过滤器重定向,但我的团队已禁用SessionState。

MVC是否有规范的方法来确保用户按顺序导航某些端点?

1 个答案:

答案 0 :(得分:0)

MVC不会对浏览器的行为提供任何行为。也就是说,它正在使用HTTP协议,并且无法阻止用户在其浏览器中手动键入URL(除非您编写了自己的浏览器来执行此操作)。

但是,您可以将应用程序设计为使用JavaScript框架(例如JQuery或AngularJS)的单个页面,这样浏览器实际上不会更改URL。这将阻止浏览器跟踪JavaScript代码和服务器之间的交互。然后,您可以保证用户只能以正确的顺序查看“页面”。