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"); } }

  

相關文章