創建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就能實現頁面的權限控制