亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 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 身份驗證、異常處理、權限驗證(攔截器)實現代碼的相關信息資訊供網民參考!
  • 推薦文章
    精品久久久久久中文字幕一区| 国产高清视频免费观看| 久久99爰这里有精品国产| 久久久久久久网| 欧美a级成人淫片免费看| 亚洲 激情| 99色吧| 亚洲精品中文一区不卡 | 美国一区二区三区| 高清一级淫片a级中文字幕 | 国产麻豆精品视频| 高清一级片| 久久99青青久久99久久| 国产高清在线精品一区a| 人人干人人草| 国产高清在线精品一区a| 麻豆网站在线免费观看| 欧美一区二区三区在线观看| 久久久成人网| 亚洲 男人 天堂| a级毛片免费观看网站| 91麻豆精品国产综合久久久| 国产激情一区二区三区| 精品视频在线观看视频免费视频| 国产国产人免费视频成69堂| 精品国产一区二区三区久久久蜜臀 | 亚欧视频在线| 精品视频在线看 | 精品在线观看一区| 天天色成人网| 久久99青青久久99久久| 美国一区二区三区| 91麻豆国产福利精品| 高清一级毛片一本到免费观看| 国产成人女人在线视频观看| 亚欧乱色一区二区三区| 色综合久久手机在线| 香蕉视频三级| 午夜欧美成人香蕉剧场| 久久精品成人一区二区三区| 美女免费精品视频在线观看| 精品国产一区二区三区久久久狼 | 精品国产一区二区三区久| 国产91丝袜高跟系列| 成人影院久久久久久影院| 国产一级生活片| 国产福利免费视频| 一a一级片| 你懂的在线观看视频| 久久久成人网| 欧美爱爱动态| 久久99中文字幕| 九九久久99| 可以免费看毛片的网站| 国产91丝袜高跟系列| 欧美大片a一级毛片视频| 国产成人欧美一区二区三区的| 天天色成人| 天天做人人爱夜夜爽2020毛片| 欧美大片a一级毛片视频| 韩国三级香港三级日本三级la| 亚洲第一视频在线播放| 欧美另类videosbestsex视频 | 天天做人人爱夜夜爽2020毛片| 欧美一区二区三区性| 99色视频在线| 成人高清视频免费观看| 久久精品店| 国产a视频| 国产一区二区高清视频| 国产不卡在线观看| 国产亚洲精品aaa大片| 欧美激情一区二区三区在线| 91麻豆精品国产自产在线| 成人免费观看视频| 欧美大片aaaa一级毛片| 欧美18性精品| 天天做人人爱夜夜爽2020| 日本免费看视频| 精品视频在线看 | 一级毛片视频播放| 日本特黄特色aa大片免费| 91麻豆国产福利精品| 91麻豆精品国产自产在线| 亚洲精品久久玖玖玖玖| 日韩专区第一页| 国产91精品系列在线观看| 国产一区二区精品尤物| 久久久久久久网| 成人高清视频在线观看| 日日爽天天| 日韩欧美一及在线播放| 日本在线不卡视频| 亚欧视频在线| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日韩女人做爰大片| 尤物视频网站在线| 国产成人欧美一区二区三区的| 午夜家庭影院| 亚洲爆爽| 国产麻豆精品视频| 台湾美女古装一级毛片| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 精品国产香蕉在线播出 | 亚洲精品久久玖玖玖玖| 免费一级生活片| 国产91精品系列在线观看| a级毛片免费观看网站| 九九九在线视频| 国产成人精品综合在线| 国产一区二区精品久久91| 天天色成人网| 欧美1卡一卡二卡三新区| 精品国产香蕉在线播出 | 午夜久久网| 高清一级淫片a级中文字幕 | 欧美日本国产| 成人高清视频在线观看| 久久成人亚洲| 二级片在线观看| 精品国产亚一区二区三区| 国产视频在线免费观看| 二级片在线观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 精品视频在线看| 久久99这里只有精品国产| 91麻豆精品国产片在线观看| 黄色免费三级| 欧美激情伊人| 久草免费在线观看| 天天做日日干| 国产伦精品一区二区三区在线观看| 国产亚洲精品aaa大片| 九九精品久久久久久久久| 日韩一级精品视频在线观看| a级精品九九九大片免费看| 国产一区二区高清视频| 日日爽天天| 欧美国产日韩在线| 日本免费乱人伦在线观看 | 91麻豆精品国产自产在线| 久久久久久久男人的天堂| 亚欧乱色一区二区三区| 四虎影视精品永久免费网站| 91麻豆国产| 国产伦精品一区二区三区在线观看 | 日本在线不卡视频| 国产91精品一区| 亚洲wwwwww| 国产成a人片在线观看视频| 欧美日本免费| 成人影院一区二区三区| 国产成人精品在线| 欧美国产日韩在线| 免费国产在线观看| 欧美a级片免费看| 亚飞与亚基在线观看| 国产伦理精品| 日韩专区一区| 国产视频久久久久| 欧美激情伊人| 韩国三级视频在线观看| 午夜激情视频在线观看| 国产高清在线精品一区二区| 国产高清在线精品一区a| 日韩在线观看视频黄| 国产激情一区二区三区| 九九九在线视频| 精品视频在线观看视频免费视频| 国产视频网站在线观看| 日韩欧美一二三区| 青草国产在线观看| 欧美另类videosbestsex视频 | 日本在线www| 国产国语对白一级毛片| 久久久久久久免费视频| 沈樵在线观看福利| 高清一级毛片一本到免费观看| 国产视频网站在线观看| 成人免费网站久久久| 亚洲第一色在线| 成人免费一级毛片在线播放视频| 一级片免费在线观看视频| 成人免费观看男女羞羞视频| 国产成人女人在线视频观看| 国产麻豆精品| 一级女性全黄生活片免费| 韩国三级视频在线观看| 日韩av东京社区男人的天堂| 91麻豆国产福利精品| 成人a大片高清在线观看| 99久久精品费精品国产一区二区| 天天色色网| 国产激情一区二区三区| 日韩一级黄色大片| 国产成人女人在线视频观看| 成人免费福利片在线观看| 亚飞与亚基在线观看| 日韩免费在线| 午夜欧美成人香蕉剧场|