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來設計
下一篇:吉林市網站制作發展中的升與降