asp.net後臺管理系統-登陸模組-路由許可權控制_1
阿新 • • 發佈:2018-12-07
using System.Web.Routing; //重寫System.Web.Routing中Initialize方法 protected override void Initialize(RequestContext requestContext) { base.Initialize(requestContext); //脫離許可權控制的url if (Request.RawUrl.ToLower().Contains("url1") || Request.RawUrl.ToLower().Contains("url2")) { } //是否驗證使用者 else if (User.Identity.IsAuthenticated) { //通過 User.Identity.Name 查詢資料庫獲取使用者資訊實體CurrentUser // User.Identity.Name是使用者登陸的時候儲存的值:UserFlag //FormsAuthentication.SetAuthCookie(UserFlag, createPersistentCookie); ViewBag.CurrentUser = CurrentUser; if (CurrentUser == null) { //如果使用者不存在,跳轉登陸介面 requestContext.HttpContext.Response.Redirect("LoginUrl"); } if (requestContext.HttpContext.Request.HttpMethod == "GET") {
//獲取當前請求的url資訊=》獲取controller名稱
var controllername = requestContext.RouteData.Values["controller"].ToString().ToLower(); //1.驗證使用者擁有的url許可權 //2.跳轉使用者訪問的url 或者 設定一個session值在前端框架中跳轉 //3.操作session } } else { requestContext.HttpContext.Response.Redirect("LoginUrl"); } }