欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > Asp.net Mvc 身份驗證、異常處理、權限驗證(攔截器)實現代碼

Asp.net Mvc 身份驗證、異常處理、權限驗證(攔截器)實現代碼

熱門標簽:電話機器人廣告話術 保山電話外呼管理系統怎么用 使用智能電話機器人違法嗎 外呼系統用員工身份證 朝陽市地圖標注 東莞語音電銷機器人排名 淘寶地圖標注如何做 蘇州銷售外呼系統預算 太原外呼電銷機器人費用
1、用戶登錄
驗證用戶是否登錄成功步驟直接忽略,用戶登錄成功后怎么保存當前用戶登錄信息(session,cookie),本文介紹的是身份驗證(其實就是基于cookie)的,下面看看代碼。
引入命名空間
using System.Web.Security;
復制代碼 代碼如下:

Users ModelUser = new Users() { ID = 10000, Name = UserName, UserName = UserName, PassWord = PassWord, Roles = "admin" };//用戶實體
string UserData = SerializeHelper.Instance.JsonSerializeUsers>(ModelUser);//序列化用戶實體
//保存身份信息,參數說明可以看提示
FormsAuthenticationTicket Ticket = new FormsAuthenticationTicket(1, UserName, DateTime.Now, DateTime.Now.AddHours(12), false, UserData);
HttpCookie Cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(Ticket));//加密身份信息,保存至Cookie
Response.Cookies.Add(Cookie);

現在身份信息就保存到cookie中了,如果有場景需要用到當前用戶的用戶ID或者別的信息的時候該怎么辦呢?
那么,我們重新在cookie中獲取身份信息,然后解密,再反序列化成用戶實體就OK了。
復制代碼 代碼如下:

/// summary>
/// 獲取用戶登錄信息
/// /summary>
/// returns>/returns>
public Users GetUser()
{
if (HttpContext.Current.Request.IsAuthenticated)//是否通過身份驗證
{
HttpCookie authCookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];//獲取cookie
FormsAuthenticationTicket Ticket = FormsAuthentication.Decrypt(authCookie.Value);//解密
return SerializeHelper.Instance.JsonDeserializeUsers>(Ticket.UserData);//反序列化
}
return null;
}

2、權限驗證
這里用到的是MVC中的action攔截器(重寫OnActionExecuting),在action執行之前會先運行攔截器中的代碼。這里同時可以身份驗證是否過期。
復制代碼 代碼如下:

/// summary>
/// 權限驗證
/// /summary>
public class AuthAttribute : ActionFilterAttribute
{
/// summary>
/// 角色名稱
/// /summary>
public string Code { get; set; }
/// summary>
/// 驗證權限(action執行前會先執行這里)
/// /summary>
/// param name="filterContext">/param>
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//如果存在身份信息
if (!HttpContext.Current.User.Identity.IsAuthenticated)
{
ContentResult Content = new ContentResult();
Content.Content = string.Format("script type='text/javascript'>alert('請先登錄!');window.location.href='{0}';/script>", FormsAuthentication.LoginUrl);
filterContext.Result = Content;
}
else
{
string[] Role = CheckLogin.Instance.GetUser().Roles.Split(',');//獲取所有角色
if (!Role.Contains(Code))//驗證權限
{
//驗證不通過
ContentResult Content = new ContentResult();
Content.Content = "script type='text/javascript'>alert('權限驗證不通過!');history.go(-1);/script>";
filterContext.Result = Content;
}
}
}
}

那么在action中怎么去調用呢?這里貼出HomeController中的代碼來看下。
復制代碼 代碼如下:

public class HomeController : BaseController
{
[AuthAttribute(Code = "admin")]//驗證通過(這個action只允許admin查看)
public ActionResult Index()
{
Users ModelUser = CheckLogin.Instance.GetUser();
return View(ModelUser);
}
[AuthAttribute(Code = "user")]//驗證不通過
public ActionResult Index2()
{
return View();
}
[AuthAttribute(Code = "admin")]//驗證通過,發生異常
public ActionResult Index3()
{
return View();
}
}

這樣就可以把權限控制到action了。
3、異常處理
上面HomeController并不是繼承Controller,而是繼承我們自己定義的一個BaseController,那么我們來看看BaseController中有寫什么東西?
復制代碼 代碼如下:

[ErrorAttribute]
public class BaseController : Controller
{
//所有Controller都繼承BaseController,則都會進行異常捕獲
}

在這里BaseController只做了一件事情,就是增加了一個ErrorAttribute的錯誤攔截器,那么只要是在Controller中發生的異常都會在ErrorAttribute中進行處理,你可以記錄到數據庫等操作。那么我們看看ErrorAttribute是怎么工作的。
復制代碼 代碼如下:

/// summary>
/// 錯誤日志(Controller發生異常時會執行這里)
/// /summary>
public class ErrorAttribute : ActionFilterAttribute, IExceptionFilter
{
/// summary>
/// 異常
/// /summary>
/// param name="filterContext">/param>
public void OnException(ExceptionContext filterContext)
{
//獲取異常信息,入庫保存
Exception Error = filterContext.Exception;
string Message = Error.Message;//錯誤信息
string Url = HttpContext.Current.Request.RawUrl;//錯誤發生地址
filterContext.ExceptionHandled = true;
filterContext.Result = new RedirectResult("/Error/Show/");//跳轉至錯誤提示頁面
}
}

在這里可以把異常捕獲,然后跳轉到友好的錯誤提示頁面。在MVC中幾個操作就可以這樣簡單的完成了,關于代碼在文章下面會提供下載。

實例代碼

作者:LyIng.Net
您可能感興趣的文章:
  • Asp.net Core 3.1基于AspectCore實現AOP實現事務、緩存攔截器功能
  • asp.net mvc core管道及攔截器的理解
  • ASP.NET Core 3.0 gRPC攔截器的使用
  • ASP.NET 通過攔截器記錄錯誤日志的示例代碼

標簽:綏化 洛陽 運城 呼倫貝爾 潛江 克拉瑪依 阿里 西藏

巨人網絡通訊聲明:本文標題《Asp.net Mvc 身份驗證、異常處理、權限驗證(攔截器)實現代碼》,本文關鍵詞  Asp.net,Mvc,身份,驗證,異常,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Asp.net Mvc 身份驗證、異常處理、權限驗證(攔截器)實現代碼》相關的同類信息!
  • 本頁收集關于Asp.net Mvc 身份驗證、異常處理、權限驗證(攔截器)實現代碼的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    制服丝袜成人动漫| 国产精品77777| 日本不卡视频一区| 在线观看日韩精品| 中文字幕在线观看一区| 成人一道本在线| 黑鬼狂亚洲人videos| 国产精品麻豆一区二区| 国产成人免费视频一区| 欧美日韩色视频| 国产精品国模大尺度视频| 国产91精品一区二区| 日韩精品一区二区三区在线视频| 久久久精品免费观看| 国产麻豆成人传媒免费观看| 亚洲最大成人综合网| 久久久久久久久久久久久夜| 国产美女在线观看一区| 免费看特级毛片| 中文字幕一区二区三区av| 不卡欧美aaaaa| 在线观看免费亚洲| 亚洲高清三级视频| 51调教丨国产调教视频| 精品国产乱码久久久久久牛牛 | 激情高潮到大叫狂喷水| 国产欧美日本一区视频| 粉嫩13p一区二区三区| 一本大道综合伊人精品热热| 一区二区三区丝袜| 视频免费在线观看| 精品久久久久久久久久久院品网| 精久久久久久久久久久| 欧美日韩午夜视频| 一区二区三区在线免费播放| 亚洲精品第二页| 久久综合网色—综合色88| 国产成a人亚洲精品| 在线日韩国产精品| 天堂影院一区二区| 99国产精品免费| 亚洲欧美日韩在线| 欧美在线一级片| 久久久久综合网| 99久久精品国产一区| 欧美视频一区二区三区| 蜜桃精品视频在线观看| 国产一二三区精品| 亚洲高清免费一级二级三级| 永久免费av无码网站性色av| 亚洲欧美另类久久久精品 | 少妇熟女视频一区二区三区| 日韩欧美国产一区二区三区| 国产成人免费视频一区| 欧美日韩综合色| 精品一区二区在线视频| 91国偷自产一区二区开放时间| 日日夜夜精品免费视频| 久久嫩草捆绑紧缚| 午夜精品爽啪视频| 国产又粗又猛又爽又黄的视频小说| 亚洲乱码一区二区三区在线观看| 国产传媒第一页| 中文字幕一区二区三区在线播放| 精品国产人妻一区二区三区| 中文无字幕一区二区三区| av av在线| 国产精品三级av| 国产精品一区二区无码对白| 中文无字幕一区二区三区| 国模私拍在线观看| 中文字幕一区二区5566日韩| 国产精品1000部啪视频| 亚洲人成影院在线观看| 91同城在线观看| 精品奇米国产一区二区三区| 91香蕉视频黄| 久久人人超碰精品| 一级黄色免费视频| 日韩一区日韩二区| av网站免费在线看| 亚洲v日本v欧美v久久精品| 四虎精品一区二区| 成人欧美一区二区三区| 一区二区精品免费| 亚洲成人自拍偷拍| 色综合久久中文综合久久97| 亚洲一区二区成人在线观看| 黑人狂躁日本娇小| 蜜桃av一区二区在线观看| 欧美性猛片aaaaaaa做受| 国产精品综合二区| 日韩欧美国产麻豆| 久久久久99人妻一区二区三区| 中文字幕av一区二区三区免费看 | 欧美一区二区三区白人| 91在线一区二区三区| 国产三级精品在线| 精品少妇一区二区三区免费观| 亚洲午夜精品久久久久久久久| 国内偷拍精品视频| 国产一区二区三区电影在线观看| 日韩久久免费av| 中文乱码人妻一区二区三区视频| 夜夜嗨av一区二区三区中文字幕| 久久人妻无码aⅴ毛片a片app | 欧美色电影在线| 成人av免费网站| 欧美国产欧美亚州国产日韩mv天天看完整| 中文字幕一区二区三区人妻不卡| 亚洲成人1区2区| 欧美日韩一级二级| 永久看看免费大片| 亚洲免费观看高清完整版在线观看| 欧美三级黄色大片| 国产成人综合在线播放| 国产欧美日韩精品一区| 久久久精品成人| 国产在线国偷精品产拍免费yy| 欧美不卡123| 在线免费看黄视频| 麻豆中文一区二区| 精品99一区二区| 精品人妻一区二区三区蜜桃视频| 美女在线一区二区| wwwwxxxxx欧美| 超碰人人人人人人人| 国产一区二区三区在线看麻豆| 久久久精品中文字幕麻豆发布| 美国黄色特级片| 国产一区二区精品久久91| 久久久一区二区| 一级性生活免费视频| 成人国产一区二区三区精品| 椎名由奈av一区二区三区| 日本精品视频一区二区| 国产黄色一区二区三区| 亚洲国产精品视频| 91精品国产一区二区| 久久偷拍免费视频| 久久机这里只有精品| 久久精品无码一区二区三区| 四虎永久免费地址| 成人99免费视频| 一片黄亚洲嫩模| 91精品国产综合久久久久久| 我想看黄色大片| 国产v综合v亚洲欧| 国产亚洲精品7777| 国产成人av一区| 亚洲丝袜另类动漫二区| 欧美三片在线视频观看 | 精品国精品国产| 国产精品综合激情| 成人激情小说网站| 亚洲综合999| 欧美成人一区二区| 制服丨自拍丨欧美丨动漫丨| 成人激情黄色小说| 亚洲国产欧美一区二区三区丁香婷| 91精品国产91热久久久做人人| 少妇无套高潮一二三区| 岛国一区二区三区| 亚洲国产精品精华液网站| 精品国产三级电影在线观看| 午夜精品福利在线视频| jjzzjjzz欧美69巨大| 韩国女主播成人在线观看| 自拍偷拍亚洲激情| 这里只有精品免费| 俄罗斯毛片基地| 欧美人与性动交α欧美精品| 免费成人在线影院| 国产精品不卡在线观看| 欧美理论片在线| 啪啪一区二区三区| 乱码一区二区三区| 国产在线精品免费| 亚洲一级片在线观看| 国产三级欧美三级日产三级99 | 亚洲国产视频a| 久久女同性恋中文字幕| 在线免费观看视频一区| av男人的天堂av| 老司机av网站| 国产精品一区二区男女羞羞无遮挡 | 国产欧美视频一区二区| 欧美日韩一级片在线观看| 呻吟揉丰满对白91乃国产区| 91麻豆自制传媒国产之光| 黑人巨大精品欧美一区| 亚洲夂夂婷婷色拍ww47| 国产日韩欧美麻豆| 欧美日韩国产免费| 四川一级毛毛片| 国产在线不卡视频| 天天综合网 天天综合色| 国产精品久线观看视频| 日韩精品中文字幕一区| 在线观看av不卡|