如何通过更改 ASP.NET MVC 中的 Url 来阻止对控制器的访问?
Posted
技术标签:
【中文标题】如何通过更改 ASP.NET MVC 中的 Url 来阻止对控制器的访问?【英文标题】:How to block access to controller via changing Url in ASP.NET MVC? 【发布时间】:2011-11-15 20:40:54 【问题描述】:当用户点击按钮时,我只想访问带有成功消息的页面...
通过更改网址,例如.../Success
,我希望我的网站将用户重定向到上一页。
如何通过 ASP.NET MVC 3 做到这一点?
【问题讨论】:
【参考方案1】:一种快速的方法是在重定向的动作中设置一个包含随机数的会话,并将随机数作为参数传递给另一个动作。
在另一个action(redirected one)里面,比较session的值和action的参数。如果值相等,则用户通过按下按钮到达那里,否则,用户通过更改 URL 到达那里。 希望对您有所帮助。
【讨论】:
【参考方案2】:您可以使用以下命令重定向到特定操作:
RedirectToAction(string actionName);
如果动作属于另一个控制器,你可以使用这个重载:
RedirectToAction(string actionName, string controllerName);
【讨论】:
我知道,但是如果只有他手动更改 url,我想重定向用户...如果用户点击发布按钮,没关系)))) 如果用户尝试手动更改成功页面的 url,您的意思是要将用户重定向到上一页吗? 不,我的意思是如果用户在浏览器的 url 中写入 .../Success 并点击回车,我想将用户重定向到上一页))))以上是关于如何通过更改 ASP.NET MVC 中的 Url 来阻止对控制器的访问?的主要内容,如果未能解决你的问题,请参考以下文章
在 ASP.NET MVC 中的下拉列表上触发 jQuery 更改事件并将参数传递给 url 操作
通过 Url.Action 将参数发送到 asp.net MVC 中的控制器
如何在 ASP.NET MVC 中的 URL 之后允许额外的文本?