wangliang 3 жил өмнө
parent
commit
788d981aae

+ 12 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/WudaOpenApiController.java

@@ -23,6 +23,7 @@ import com.qmth.teachcloud.report.business.cache.WhuUserAuthCacheUtil;
 import com.qmth.teachcloud.report.business.service.ReportCommonService;
 import io.swagger.annotations.*;
 import org.apache.commons.lang3.StringUtils;
+import org.jasig.cas.client.authentication.AttributePrincipal;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -38,7 +39,9 @@ import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.net.URLEncoder;
 import java.security.NoSuchAlgorithmException;
+import java.security.Principal;
 import java.text.MessageFormat;
+import java.util.Map;
 import java.util.Objects;
 
 @Api(tags = "武大开放接口层apiController")
@@ -95,6 +98,15 @@ public class WudaOpenApiController {
         if (Objects.isNull(uid)) {
             throw ExceptionResultEnum.NOT_LOGIN.exception();
         }
+        Principal principal = request.getUserPrincipal();
+        if (principal != null && principal instanceof AttributePrincipal) {
+            AttributePrincipal aPrincipal = (AttributePrincipal) principal;
+            //获取用户信息中公开的Attributes部分
+            Map<String, Object> map = aPrincipal.getAttributes();
+            // 获取姓名,可以根据属性名称获取其他属性
+            String cn = (String) map.get("cn");
+            log.info("cn:{}", cn);
+        }
         UserAuthenticationDto userAuthenticationDto = new UserAuthenticationDto(uid, SystemConstant.getUuid());
         WhuUserAuthCacheUtil.setAuthCode(userAuthenticationDto);
         String pattern = "{0}{1}{2}";