// 摘要:
// 提供 System.Web.Mvc.AuthorizeAttribute 特性标记的操作方法的相关信息,如操作方法的名称、控制器、参数、特性和筛选器。
//
// 返回结果:
// System.Web.Mvc.AuthorizeAttribute 特性标记的操作方法的操作描述符。
public virtual ActionDescriptor ActionDescriptor { get; set; }
//页面权限验证
var obj = filterContext.ActionDescriptor.GetCustomAttributes(typeof(AuthorityAttribute), true);
if (obj.Length > 0)
{
string url = filterContext.HttpContext.Request.Path.ToLower().TrimStart('/');//请求的action
List<Menu> userMenus = filterContext.HttpContext.Session["userMenus"] as List<Menu>;
bool isHave = userMenus.Exists(w => w.URL.ToLower().Contains(url));
if (isHave == false)
{
ContentResult con = new ContentResult();
con.Content = "<b style='color:red;font-size:30px;'>您没有该页面的访问权限<b>";
filterContext.Result = con;
return;
}
}
属性定义类
/// <summary>
/// 权限判断
/// </summary>
[AttributeUsage(AttributeTargets.Method)]
public class AuthorityAttribute : Attribute
{
}
//控制台
[Authority]
public ActionResult Console()
{
return View();
}