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]验证标记就行了。
上一篇:吉林市怎样做出一个被信任的域名?
下一篇:吉林市政府机构类网站建设-解决方案