Asp.net mvc 3 是否可以通过URL拒绝对PartialViewResult操作的访问
我试图拒绝访问返回Asp.net mvc 3 是否可以通过URL拒绝对PartialViewResult操作的访问,asp.net-mvc-3,security,action,Asp.net Mvc 3,Security,Action,我试图拒绝访问返回PartialViewResult的操作;但这似乎是不可能的。如果我用NonAction属性标记action方法,页面将不会呈现,如果我没有,则可以使用URL获取该部分视图。 假设我在\u Layout.cshtml中有这个: <section role="navigation"> @Html.Partial("PageParts/Sidebar") @RenderSection("SidebarContents", required: false)
PartialViewResult
的操作;但这似乎是不可能的。如果我用NonAction
属性标记action方法,页面将不会呈现,如果我没有,则可以使用URL获取该部分视图。假设我在
\u Layout.cshtml
中有这个:
<section role="navigation">
@Html.Partial("PageParts/Sidebar")
@RenderSection("SidebarContents", required: false)
</section>
这是PageSemanticsController.cs
:
public class PageSemanticsController : Controller {
public PartialViewResult getNavigation() {
NavigationModel nm = new NavigationModel();
return PartialView("PageParts/Sidebar/Navigation", nm);
}
}
最后是~/Views/Shared/PageParts/Sidebar/Navigation.cshtml
:
@Html.Partial("PageParts/Sidebar/Userinfo")
@{Html.RenderAction("getNavigation", "PageSemantics");}
@model NavigationModel
<nav id="main-nav">
[... Some code to create Navigation ...]
</nav>
@model导航模型
[…创建导航的一些代码…]
除了可以通过URL访问
~/PageSemantics/getNavigation
之外,此设置工作正常。
在保持此设置正常运行的同时,是否有任何方法拒绝通过URL访问getNavigation
操作?尝试放置属性
[ChildActionOnly]
在您的getNavigation()
方法上尝试放置属性
[ChildActionOnly]
在您的
getNavigation()
方法上,这将返回一条类似的消息,操作“getNavigation”只能通过子请求访问。
是否可以返回404?我刚刚发现谢谢,这将返回一条类似于的消息,操作“getnavigation”只能通过子请求访问。
是否可以返回404?我刚刚找到