【发布时间】:2015-08-10 07:46:46
【问题描述】:
我有权限控制对控制器的访问
public class UserLevelAccessibilityAttribute : FilterAttribute, IAuthorizationFilter
{
var baseController = filterContext.Controller as Controllers.BaseController;
var userContext = baseController.UserContext;
if (false == userContext.HasUserLevels(_levels))
{
var postData = new Dictionary<string, object>();
postData.Add("requiredLevels", string.Join(",", _levels));
filterContext.Result =
new RedirectAndPostActionResult("/Error/Unauthorized", postData);
}
}
在代码中看起来像
[UserLevelAccessibilityAttribute(EPermissionLevel.Pricing)]
public MyContr : Controller
{
[SkipAuthorizationFromController]
public ActionResult MyAction()
{
}
}
我的问题是如何实现 SkipAuthorizationFromController 属性来跳过控制器的授权?还是应该更改 UserLevelAccessibilityAttribute 实现?
【问题讨论】:
标签: c# .net security model-view-controller attributes