From 2c4189febf04adb1505ad3ed9816d9258fd852b8 Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <279049017@qq.com>
Date: Tue, 24 Nov 2020 12:06:10 +0800
Subject: [PATCH] 添加taocan 的功能

---
 kidgrow-commons/kidgrow-authclient-spring-boot-starter/src/main/java/com/kidgrow/authclient/service/impl/DefaultPermissionServiceImpl.java |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/kidgrow-commons/kidgrow-authclient-spring-boot-starter/src/main/java/com/kidgrow/authclient/service/impl/DefaultPermissionServiceImpl.java b/kidgrow-commons/kidgrow-authclient-spring-boot-starter/src/main/java/com/kidgrow/authclient/service/impl/DefaultPermissionServiceImpl.java
index 62462da..4f544db 100644
--- a/kidgrow-commons/kidgrow-authclient-spring-boot-starter/src/main/java/com/kidgrow/authclient/service/impl/DefaultPermissionServiceImpl.java
+++ b/kidgrow-commons/kidgrow-authclient-spring-boot-starter/src/main/java/com/kidgrow/authclient/service/impl/DefaultPermissionServiceImpl.java
@@ -91,9 +91,37 @@
 //                    break;
 //            }
 //            TenantContextHolder.setTenant(tenantId);
+
             ClientContextHolder.setClient(clientId);
             String roleCodes = grantedAuthorityList.stream().map(SimpleGrantedAuthority::getAuthority).collect(Collectors.joining(", "));
             List<SysMenu> menuList = findMenuByRoleCodes(roleCodes);
+            /*
+             *需求:h端   没有进行配置url的通过,剩下的进行验证
+             *
+             */
+            //根据h端进行验证
+            if("hospital".equals(clientId)){
+                if(!menuList.isEmpty()){
+                    List<String> collect = menuList.stream().map(SysMenu::getUrl).collect(Collectors.toList());
+                    if(collect.contains(requestURI)){
+                        for (SysMenu menu : menuList) {
+                                if (StringUtils.isNotEmpty(menu.getUrl()) && antPathMatcher.match(menu.getUrl(), requestURI)) {
+                                    if (StrUtil.isNotEmpty(menu.getPathMethod())) {
+                                        if(!requestMethod.equalsIgnoreCase(menu.getPathMethod())){
+                                            continue;
+                                        }
+                                        return requestMethod.equalsIgnoreCase(menu.getPathMethod());
+                                    }
+                                }
+                        }
+                    }else {
+                        //不在配置menu集合里面的放行
+                        return true;
+                    }
+                }else{
+                    return true;
+                }
+            }
             for (SysMenu menu : menuList) {
                 if (StringUtils.isNotEmpty(menu.getUrl()) && antPathMatcher.match(menu.getUrl(), requestURI)) {
                     if (StrUtil.isNotEmpty(menu.getPathMethod())) {

--
Gitblit v1.8.0