限制用户跳跃控制器和动作方法
各位:
我的 ASP.NET MVC 1.0 应用程序更像是一个工作流程。
含义:父控制器的动作方法(认证)-->子1 动作方法-->子2 动作方法-->子级操作
现在,一旦访问者通过父控制器的操作方法完成身份验证,他就可以操纵 URL 并直接跳转到子级 2 操作方法。 我们希望避免这种情况,在这种情况下我们希望它们出现错误页面。
我们如何实现限制用户从 1 跳转到另一个操作方法?
Folks:
My ASP.NET MVC 1.0 application is more like a workflow.
Means: Parent controller's action method (authentication) --> Child 1 Action method --> Child 2 Action method --> Child n Action
Now once the visitor completes the Authentication through the parent controller's action method he can manupulate the URL and jump directly to the child 2 action method.
We want to avoid this and in this case we want them to a error page.
How can we implement to restrict the user from jumpin from 1 to another action method ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 TempData 提供一些键,如果该值不存在,您可以将用户重定向回上一步。
或者,您可以使用
[HttpPost]
修饰后续操作方法,将每个Form
操作设置为控制器中的下一个操作方法,并且这些操作对不可用GET
请求。You could use TempData providing some key and if that value isnt there, you could redirect the user back to the previous step.
Or you could decorate the subsequent action methods with
[HttpPost]
, set eachForm
action to the next action method in the controller, and the actions wouldnt be available toGET
requests.将子操作方法设为私有,以便只能通过父操作访问它们。
~/Controller/Parent 路由到 Controller.Parent()。
~/Controller/Child1 路由至 404: Not Found。
~/Controller/Child2 路由至 404: Not Found。
Make your child action methods private so that they can only be accessed via the parent action.
~/Controller/Parent routes to Controller.Parent().
~/Controller/Child1 routes to 404: Not Found.
~/Controller/Child2 routes to 404: Not Found.