mvc 繼承Controller,實現頁面的權限控制

創建BaseController.cs ,重寫Initialize()方法

protected override void Initialize(RequestContext requestContext)
        {
            base.Initialize(requestContext);
            bool IsOK = false;
            //獲取當前訪問頁面地址
            string requestPath = RequestHelper.GetScriptName;
            string[] filterUrl = { //無需授權能打開的界面

            };//過濾特別頁面
            //對上傳的文件的類型進行一個個匹對
            for (int i = 0; i < filterUrl.Length; i++)
            {
                if (requestPath == filterUrl[i])
                {
                    IsOK = true;
                    break;
                }
            }
            if (!IsOK)
            {
                string UserId = RequestSession.GetSessionUser().UserId.ToString();//用戶ID
                DataTable dt = sys_idao.GetPermission_URL(UserId);
                DataView dv = new DataView(dt);
                dv.RowFilter = "NavigateUrl = '" + requestPath + "'";
                if (dv.Count == 0)
                {
                    StringBuilder strHTML = new StringBuilder();
                    strHTML.Append("<div style='text-align: center; line-height: 300px;'>");
                    strHTML.Append("<font style=\"font-size: 13;font-weight: bold; color: red;\">權限不足</font></div>");
                    requestContext.HttpContext.Response.Write(strHTML);
                    requestContext.HttpContext.Response.End();
                }
            }
        }
其他Controller繼承BaseController就能實現頁面的權限控制

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章