Ach*_*les 1 security action asp.net-mvc-3
我试图拒绝访问返回的操作PartialViewResult; 但这似乎是不可能的.如果我使用NonAction属性标记action方法,则页面将不会呈现,如果不标记,则可以使用URL获取该部分视图.
假设我有这个_Layout.cshtml:
<section role="navigation">
@Html.Partial("PageParts/Sidebar")
@RenderSection("SidebarContents", required: false)
</section>
Run Code Online (Sandbox Code Playgroud)
这是PageParts/Sidebar.cshtml:
@Html.Partial("PageParts/Sidebar/Userinfo")
@{Html.RenderAction("getNavigation", "PageSemantics");}
Run Code Online (Sandbox Code Playgroud)
这是PageSemanticsController.cs:
public class PageSemanticsController : Controller {
public PartialViewResult getNavigation() {
NavigationModel nm = new NavigationModel();
return PartialView("PageParts/Sidebar/Navigation", nm);
}
}
Run Code Online (Sandbox Code Playgroud)
最后这是~/Views/Shared/PageParts/Sidebar/Navigation.cshtml:
@model NavigationModel
<nav id="main-nav">
[... Some code to create Navigation ...]
</nav>
Run Code Online (Sandbox Code Playgroud)
此设置工作正常,但~/PageSemantics/getNavigation可通过URL访问.有没有办法getNavigation在保持此设置工作的同时拒绝通过URL 访问操作?
试着把属性
[ChildActionOnly]
Run Code Online (Sandbox Code Playgroud)
在你的getNavigation()方法上
| 归档时间: |
|
| 查看次数: |
708 次 |
| 最近记录: |