| 
					
				 | 
			
			
				@@ -66,6 +66,7 @@ public class DataScopeAspect 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Before("dataScopePointCut()")
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void doBefore(JoinPoint point) throws Throwable
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        clearDataScope(point);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         handleDataScope(point);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -166,4 +167,17 @@ public class DataScopeAspect 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return null;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /**
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 拼接权限sql前先清空params.dataScope参数防止注入
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void clearDataScope(final JoinPoint joinPoint)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Object params = joinPoint.getArgs()[0];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (StringUtils.isNotNull(params) && params instanceof BaseEntity)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            BaseEntity baseEntity = (BaseEntity) params;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            baseEntity.getParams().put(DATA_SCOPE, "");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }
 
			 |