我实现Custom Authorize Attribute在MVC3.我将页面级权限存储在数据库中,并希望将我的authorize属性传递给页面ID.某种东西:
[CustomAuthorize(PageID = 1)]
public ActionResult About()
{
return View();
}
Run Code Online (Sandbox Code Playgroud)
我如何实现Authorize Attribute,因为AuthorizeCore在覆盖中只需要一个参数?
public class CustomAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
}
}
Run Code Online (Sandbox Code Playgroud)
您将定义一个类级变量来保存PageID,您的属性的构造函数会将其作为参数.或者像在示例中一样使用它,您将创建一个名为PageID的公共属性.
public class CustomAuthorizeAttribute : AuthorizeAttribute
{
public int PageID{get; set;}
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
//use PageID to do checks here.
}
}
Run Code Online (Sandbox Code Playgroud)
然后在你的内部AuthorizeCore,你将使用该属性/字段值来进行检查.
| 归档时间: |
|
| 查看次数: |
1655 次 |
| 最近记录: |