精品人伦一区二区三区蜜桃黑人_国产精品国内免费一区二区三区_国产高清自在自线99_无码性午夜视频在线观看

咨詢
技術(shù)
吉林市網(wǎng)絡(luò)公司,吉林市網(wǎng)站建設(shè),吉林市網(wǎng)站制作,吉林市網(wǎng)頁設(shè)計,吉林市小程序,吉林市微信小程序,吉林市微信公眾號,吉林市軟件開發(fā),吉林市做網(wǎng)站哪家好
吉林市網(wǎng)站制作與建設(shè)
 您當(dāng)前的位置:  首頁 > 幫助中心 > 網(wǎng)站制作與建設(shè)
吉林市柏霖網(wǎng)絡(luò)公司專業(yè)從事網(wǎng)站建設(shè)、網(wǎng)站制作、吉林市網(wǎng)站推廣優(yōu)化、網(wǎng)頁設(shè)計、及一體的網(wǎng)站建設(shè)公司,為您完美打造一流網(wǎng)站,做吉林市最好的網(wǎng)站。咨詢電話:043264678108

吉林市ASP.NET MVC3文件夾作用及實現(xiàn)自定義權(quán)限判定

來源:原創(chuàng)文章   發(fā)布于:2024/10/14 10:00:00   編輯:吉林市軟件開發(fā),吉林市網(wǎng)站建設(shè),吉林市網(wǎng)站制作   點(diǎn)擊量:

Asp.Net MVC3中各個文件夾的作用


文件夾   作用

/Controllers   存放控制器類【職責(zé)是:處理用戶的請求,指揮具體的頁面進(jìn)行渲染交給客戶端】

/Views   存放各個控制器對應(yīng)的視圖文件,如果是Razor引擎的話那后綴是cshtml.如果使用的WebFrom的視圖引擎的話,那還是Aspx后綴。

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

/Scripts   主要存放腳本文件【微軟默認(rèn)給我們提供了JQuery1.5.1的包,看來JQuery已經(jīng)成為默認(rèn)的工業(yè)標(biāo)準(zhǔn)了!我們沒有退路了,呵呵,當(dāng)然我個人也非常喜歡JQuery】

/Models   主要存放ViewModel類【當(dāng)然這個不是嚴(yán)格這樣要求的,而是推薦你這么做!

ASP.NET本身擁有membership角色權(quán)限系統(tǒng),但是這個自帶的系統(tǒng)不夠靈活和強(qiáng)大,有時候操作起來比較繁瑣,在這里品銳網(wǎng)絡(luò)介紹一種如何根據(jù)控制器和方法自動判定權(quán)限,簡單方便。

首先是定義一個類繼承ActionFilterAttribute類,然后重新方法OnActionExecuting  編寫如下代碼

   ;  public override void OnActionExecuting(ActionExecutingContext filterContext)

   ;  {
   ;  ;   if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
   ;  ;   {
   ;   ;  //沒有登錄執(zhí)行的操作
   ;  ;   }
   ;  ;   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 = "沒有權(quán)限訪問!";
   ;   ;   ;  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);//判斷權(quán)限
   ;   ;   ;  string mypurview = admin_user.getMyPurview();
   ;   ;   ;  is_authorize=admin_user.inPurview(purview, mypurview);
   ;   ;   ;  if (!is_authorize)
   ;   ;   ;  {
   ;   ;   ;   ; //如果驗證不通過執(zhí)行的方法
   ;   ;   ;  }
 
   ;   ;  }
 
   ;  ;   }
   ;  ; 
   ;  }

  然后在控制器或方法前面加上[Authorize]驗證標(biāo)記就行了。