咨询
点击这里给我发消息
技术
点击这里给我发消息
吉林市网络公司,吉林市网站建设,吉林市网站制作,吉林市网页设计,吉林市小程序,吉林市微信小程序,吉林市微信公众号,吉林市软件开发,吉林市做网站哪家好
吉林市柏霖网络公司
地址:吉林市昌邑区松江北路 路弘·阳光华苑 1-3-1
电话:0432-64678108
网址:100lin.com
邮箱85680811@qq.com
  • 咨询:   85680811
  • 技术:   1053718
  • 吉林市网站设计与建设
     您当前的位置:  首页 > 帮助中心 > 网站设计与建设
    吉林市柏霖网络公司专业从事网站建设、网站制作、吉林市网站推广优化、网页设计、及一体的网站建设公司,为您完美打造一流网站,做吉林市最好的网站。 咨询电话:043264678108

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

    作者:柏霖网络公司 发布于:2019/3/13 11:17:44 点击量:

    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]验证标记就行了。




    上一篇:吉林市网站为什么不用flash来设计

    下一篇:吉林市网站制作发展中的升与降