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
    	}
    }
    

      

  • 相关阅读:
    03_Redis数据类型(List)
    02_Redis数据类型(String、Hash)
    01_Redis基础
    22_AOP_切面——静态切面
    21_AOP_Advice增强2(异常、引介)
    20_AOP_Advice增强1(前置、后置、环绕)
    19_AOP概述
    18_CGLib动态代理
    利用NTP搭建自己的ntp服务
    VM设置BIOS延长时间
  • 原文地址:https://www.cnblogs.com/lyl6796910/p/5213358.html
Copyright © 2011-2022 走看看