From d05f2e9fc963bef2677322154ae210b631a2f4be Mon Sep 17 00:00:00 2001 From: infrasys00 <blackdancers@163.com> Date: 星期四, 25 二月 2021 13:27:30 +0800 Subject: [PATCH] all --- springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/SercuritFilter.java | 96 ------------------------------------------------ 1 files changed, 0 insertions(+), 96 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/SercuritFilter.java b/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/SercuritFilter.java index 16d2388..531b179 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/SercuritFilter.java +++ b/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/SercuritFilter.java @@ -1,4 +1,3 @@ -<<<<<<< HEAD package com.panzhihua.zuul.filters; import com.alibaba.fastjson.JSONArray; @@ -92,98 +91,3 @@ return false; } } -======= -package com.panzhihua.zuul.filters; - -import com.alibaba.fastjson.JSONArray; -import com.panzhihua.common.constants.SecurityConstants; -import com.panzhihua.common.constants.UserConstants; -import com.panzhihua.common.model.vos.MenuVO; -import com.panzhihua.common.model.vos.R; -import com.panzhihua.common.service.user.UserService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.data.redis.core.StringRedisTemplate; -import org.springframework.data.redis.core.ValueOperations; -import org.springframework.security.access.ConfigAttribute; -import org.springframework.security.access.SecurityConfig; -import org.springframework.security.web.FilterInvocation; -import org.springframework.security.web.access.intercept.FilterInvocationSecurityMetadataSource; -import org.springframework.stereotype.Component; -import org.springframework.util.ObjectUtils; - -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - -/** - * @program: springcloud_k8s_panzhihuazhihuishequ - * @description: 权限 - * @author: huang.hongfa weixin hhf9596 qq 959656820 - * @create: 2020-11-25 15:08 - **/ -@Slf4j -@Component -public class SercuritFilter implements FilterInvocationSecurityMetadataSource { - @Resource - private StringRedisTemplate stringRedisTemplate; - @Resource - private UserService userService; - - /** - * 获取当前url对应的角色 - * @param o 请求url - * @return 权限列表 - * @throws IllegalArgumentException 异常 - */ - @Override - public Collection<ConfigAttribute> getAttributes(Object o) throws IllegalArgumentException { - List<ConfigAttribute> configAttributes=new ArrayList<>(); - String requestUrl = ((FilterInvocation) o).getRequestUrl(); - log.info("接口请求地址【{}】",requestUrl); - Boolean aBoolean = stringRedisTemplate.hasKey(SecurityConstants.ROLE_ALL); - ValueOperations<String, String> valueOperations = stringRedisTemplate.opsForValue(); - List<MenuVO> menuVOS=new ArrayList<>(); - if (aBoolean) { - String roleAll = valueOperations.get(SecurityConstants.ROLE_ALL); - menuVOS= JSONArray.parseArray(roleAll,MenuVO.class); - }else{ - R<List<MenuVO>> r = userService.getAllMenu(); - List<MenuVO> data = (List<MenuVO>)r.getData(); - if (!ObjectUtils.isEmpty(data)) { - menuVOS=data; - valueOperations.set(SecurityConstants.ROLE_ALL,JSONArray.toJSONString(data),24, TimeUnit.HOURS); - } - } - if (!ObjectUtils.isEmpty(menuVOS)) { - List<MenuVO> collect = menuVOS.stream().filter(menuVO -> menuVO.getUrl().equals(requestUrl)).collect(Collectors.toList()); - if (!ObjectUtils.isEmpty(collect)) { - collect.forEach(menuVO -> { - configAttributes.add(new SecurityConfig(menuVO.getRole())); - }); - } - } - boolean contains = requestUrl.contains("/api/applets/"); - boolean docs = !requestUrl.contains("docs"); - boolean login = !requestUrl.contains("login"); - boolean refreshToken = !requestUrl.contains("refreshToken"); - boolean useragreement = !requestUrl.contains("useragreement"); - if (contains&&docs&&login&&refreshToken&&useragreement) { - configAttributes.add(new SecurityConfig(SecurityConstants.ROLE_APPLETS)); - } - return configAttributes; - } - - @Override - public Collection<ConfigAttribute> getAllConfigAttributes() { - return null; - } - - @Override - public boolean supports(Class<?> aClass) { - return false; - } -} ->>>>>>> afeb571ca27a185766615c2b68fcfa5b13a56dab -- Gitblit v1.7.1