【发布时间】:2018-12-07 08:16:06
【问题描述】:
我过去曾使用局部视图来拆分大视图。但是,它们是限制用户访问的好方法吗?在我当前的设置中,未经授权的用户可以访问部分视图吗?
View:
@if (ViewBag.UserType == 1)
{
@Html.Partial("PartialView/_StandardUser");
}
else if (ViewBag.UserType == 2)
{
@Html.Partial("PartialView/_AdminUser");
}
Controller:
public ActionResult Index()
{
ViewBag.UserType = 2;
return View();
}
【问题讨论】:
-
IMO 决定在视图中显示什么不是一个好主意,最好在服务器端决定。也t取决于你展示什么。标准用户的视图和管理员的视图有什么共同点吗?
-
如果您有一些 [不] 想在视图上显示的按钮或部分,只需在您的操作方法上检查该内容是否可见(对于当前用户)。跨度>
-
@SeM 视图代码无论如何都运行在服务器端
-
@SamiKuhmonen 我的意思是在控制器中决定。
-
“好”不是一个技术术语,所以这里的答案大多是基于意见的。它本质上没有什么不安全的地方。如果您担心,请在局部视图本身中添加额外的 UserType 检查。
标签: c# asp.net-mvc asp.net-mvc-partialview