首页 > Web开发 > 详细

关于ASP.NET MVC权限控制,通过自定义属性Attribute实现

时间:2015-01-27 23:25:02      阅读:1057      评论:0      收藏:0      [点我收藏+]

公司打算从webform转到MVC架构,一直困扰我的就是权限控制问题。对于每一个模块,都需要判断该用户是否有访问的权限,每个用户的权限都不同,没有办法用角色权限来控制。在借鉴之前webform的实现方式和MVC的实例应用程序后,想到通过自定义Attribute来实现,实现代码如下:
 

 1     public sealed class FunctionFilterAttribute : ActionFilterAttribute
 2     {
 3         private string _functionID;
 4         public FunctionFilterAttribute(string funcID)
 5         {
 6             this._functionID = funcID;
 7         } 9         public override void OnActionExecuting(ActionExecutingContext filterContext)
10         {
11             HttpContextBase context = filterContext.HttpContext;
12             IList<string> ids = (IList<string>)context.Session["ID"];
13             if (ids == null || !ids.Contains(_functionID))
14             {
15                 context.Response.Write("<script>alert(‘no‘)</script>");
16             }
17             base.OnActionExecuting(filterContext);
18         }
19     }

 

调用方法是标记在所需权限的Action前面或者Controller前面,如下:

1 [FunctionFilter("001")]
2 public ActionResult Index()

或者:

1 [FunctionFilter("002")]
2 public class AccountController : Controller

传入的值就是需要判断的权限ID

 

关于ASP.NET MVC权限控制,通过自定义属性Attribute实现

原文:http://www.cnblogs.com/lemoningfido/p/4254593.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!