从视图“x”来看,当用户单击“编辑项目”时,呈现“编辑”页面的控制器操作也在检查用户对该页面的权限。
我要做的是检查这些权限,如果用户没有这些权限,我想在那个“X”视图上显示一条错误消息并取消控制器操作。
现在,我的代码如下所示:
[HttpPost]
public virtual ActionResult EditPage(int? itemId)
{
var model = new EditPageModel();
if (itemId.HasValue)
{
var obj = new Item(itemId.Value);
// Check for user's edit permission before we do anything else.
var request = SecurityRequest.Create(obj, Item_Edit);
Request.Execute(() => SecurityManager.ValidatePermissions(request));
if (!request.IsValid(Item_Edit))
{
//skip the rest and return error
Response.StatusCode = (int)HttpStatusCode.Forbidden;
// Need Help Here!!!
}
// Mode code executes
return View(model);
}