行业动态
最新作品
联系方式

吉林市博麟网络公司

>> 了解博麟 地址:吉林市昌邑区松江北路兴华街道 路弘·阳光华苑 1-3-1-67
电话:043264678108
网址:www.jlblwl.com
邮箱:85680811@qq.com
咨询:85680811
技术:

1053718

ASP.NET MVC3文件夹作用及实现自定义权限判定

2019/8/2 18:08:00 作者:吉林市柏霖网络公司 吉林博麟网络

Asp.Net MVC3中各个文件夹的作用


文件夹   作用

/Controllers   存放控制器类【职责是:处理用户的请求,指挥具体的页面进行渲染交给客户端】

/Views   存放各个控制器对应的视图文件,如果是Razor引擎的话那后缀是cshtml.如果使用的WebFrom的视图引擎的话,那还是Aspx后缀。

/Content   主要存放照片、CSS、Flash等文件

/Scripts   主要存放脚本文件【微软默认给我们提供了JQuery1.5.1的包,看来JQuery已经成为默认的工业标准了!我们没有退路了,呵呵,当然我个人也非常喜欢JQuery】

/Models   主要存放ViewModel类【当然这个不是严格这样要求的,而是推荐你这么做。】

ASP.NET本身拥有membership角色权限系统,但是这个自带的系统不够灵活和强大,有时候操作起来比较繁琐,在这里品锐网络文章来自于:网络介绍一种如何根据控制器和方法自动判定权限,简单方便。

首先是定义一个类继承ActionFilterAttribute类,然后重新方法OnActionExecuting  编写如下代码

   ;  public override void OnActionExecuting(ActionExecutingContext filterContext)

   ;  {
   ;  ;   if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
   ;  ;   {
   ;   ;  //没有登录执行的操作
   ;  ;   }
   ;  ;   else
   ;  ;   {
  ;
   ;   ;  //判断是否存在角色
   ;   ;  FormsIdentity user = (FormsIdentity)HttpContext.Current.User.Identity;
 
   ;   ;  var au = db.AdminUser.Where(a => a.username == user.Name).ToList();
   ;   ;  if (au.Count > 0)
   ;   ;  {
   ;   ;   ;  // string purview= au[0].group.purview;
   ;   ;   ;  bool is_authorize = true;
   ;   ;   ;  string error_msg = "没有权限访问!";
   ;   ;   ;  string model = filterContext.RouteData.Values["controller"].ToString();
   ;   ;   ;  string action = filterContext.RouteData.Values["action"].ToString();
 
   ;   ;   ;  BLLAdminUser admin_user = new BLLAdminUser();
   ;   ;   ;  string purview=admin_user.getCheckPurview(model, action);//判断权限
   ;   ;   ;  string mypurview = admin_user.getMyPurview();
   ;   ;   ;  is_authorize=admin_user.inPurview(purview, mypurview);
   ;   ;   ;  if (!is_authorize)
   ;   ;   ;  {
   ;   ;   ;   ; //如果验证不通过执行的方法
   ;   ;   ;  }
 
   ;   ;  }
 
   ;  ;   }
   ;  ; 
   ;  }

  然后在控制器或方法前面加上[Authorize]验证标记就行了。

咨询QQ
点击这里给我发消息
服务QQ
点击这里给我发消息
技术QQ
点击这里给我发消息