Authentication auth = SecurityContextHolder.getContext().getAuthentication();
OAuth2Authentication authentication = (OAuth2Authentication) auth;
System.out.println("1234 " + authentication.getDetails());
OAuth2AuthenticationDetails oauthDetails = (OAuth2AuthenticationDetails) authentication.getDetails();
Map<String,Object> map = (Map<String, Object>) oauthDetails.getDecodedDetails();
return (Map<String, Object>) map.get("userExtraMessage");
詳細報錯資訊:
Caused by: java.lang.ClassCastException: org.springframework.security.authentication.AnonymousAuthenticationToken cannot be cast to org.springframework.security.oauth2.provider.OAuth2Authentication
at com.eastsoft.substation.gateway.util.TokenExtraInfo.getUserExtraMessage(TokenExtraInfo.java:34) ~[classes/:na]
at com.eastsoft.substation.gateway.config.LicenseZuulFilter.run(LicenseZuulFilter.java:54) ~[classes/:na]
at com.netflix.zuul.ZuulFilter.runFilter(ZuulFilter.java:117) ~[zuul-core-1.3.1.jar:1.3.1]
at com.netflix.zuul.FilterProcessor.processZuulFilter(FilterProcessor.java:193) ~[zuul-core-1.3.1.jar:1.3.1]
... 108 common frames omitted
看了下應該是型別轉換出錯,請問一下,為什么SecurityContextHolder.getContext().getAuthentication()獲取出來的是AnonymousAuthenticationToken呢?怎么才能獲取出OAuth2Authentication呢?
uj5u.com熱心網友回復:
報錯資訊是定位到紅色陳述句報的錯uj5u.com熱心網友回復:
OAuth2Authentication 和Authentication 是什么關系?uj5u.com熱心網友回復:
OAuth2Authentication是想由Authentication .getDetails()得到,然后強轉一下,就是標紅那句話uj5u.com熱心網友回復:
OAuth2Authentication是想由Authentication .getDetails()得到,然后強轉一下,就是標紅那句話
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/114705.html
標籤:Java EE
上一篇:請問這道題用java你會怎么做
