asp.net後臺管理系統-登錄模塊-路由權限控制_1

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");
            }
        }
相關文章
相關標籤/搜索