zoukankan      html  css  js  c++  java
  • mvc 权限验证

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using PaiXie.Core;
    using Newtonsoft.Json;
    using PaiXie.Utils;
    using PaiXie.Bll;
    namespace PaiXie.Pos.Admin {
    	/// <summary>
    	/// 权限控制
    	/// </summary>
    	public class MvcMenuFilter : ActionFilterAttribute {
    
    		#region 权限控制
    
    		private bool _isEnable = true;
    
    		public MvcMenuFilter() {
    			_isEnable = true;
    		}
    
    		public MvcMenuFilter(bool IsEnable) {
    			_isEnable = IsEnable;
    		}
            	
    		public override void OnActionExecuting(ActionExecutingContext filterContext) {		
    			
    			try {
    				//默认true 执行验证
    				   if (_isEnable) {
    					var route = filterContext.RouteData.Values;
    					string area = filterContext.RouteData.DataTokens["area"].ToString();
    					var url = string.Format("/{0}/{1}/{2}", area, route["controller"], route["action"]);
    				    //没有权限	
    				if (!new Users().IsAuth(url)) {
    						//if (_isEnable) {
    						BaseResult BaseResult = new BaseResult();
    						BaseResult.result = -99;
    						BaseResult.message = "没有权限!";
    						string str = JsonConvert.SerializeObject(BaseResult, Formatting.Indented);
    						ContentResult ContentResult = new ContentResult();
    						ContentResult.Content = str;
    						filterContext.Result = ContentResult;
    				//}
    				}
    				}
    			}
    			catch (Exception ex) { PlanLog.WriteLog(ex.ToString(), "MvcMenuFilter"); }
    			base.OnActionExecuting(filterContext);
    		} 
    		#endregion
    	}
    }
    

      

  • 相关阅读:
    GNU编码标准
    glade2 与 glade 3 (转)
    简单 gcc 参数
    gtk 主循环函数
    指针与数组关联导致的一些现象
    C语言声明数组变量时,在什么情况下,可不指定数组大小
    文件复制函数的效率比较
    关于VMware虚拟机的上网
    errno的基本用法
    查找数组中最大的2个数
  • 原文地址:https://www.cnblogs.com/lyl6796910/p/5213358.html
Copyright © 2011-2022 走看看