在我的MVC应用程序中,我不希望任何用户键入浏览器的地址栏并直接导航到任何控制器操作。我可以为整个应用程序启用它吗?如果是,如何?能告诉我这个概念名称吗?
此外,我不希望通过Request.URLReferrer
执行此操作,因为它有自己的安全风险(每Avoiding user to navigate to a view by entering url in the browser)
提前致谢!
答案 0 :(得分:1)
您需要使用自定义操作过滤器属性,请参阅:
http://www.asp.net/mvc/tutorials/hands-on-labs/aspnet-mvc-4-custom-action-filters
****更新:**
正如 Parsanna 在评论中提到的那样,
您可以使用操作方法的[ChildActionOnly]
属性确保不直接调用它,或使用操作中的ControllerContext.IsChildAction
属性来确定是否要重定向。< / p>
请参阅:Asp.net mvc How to prevent browser from calling an action method?