Commit 4872137d by 穆龙飞

modify:修改登录拦截

parent 8cb3e13f
Pipeline #43954 passed with stages
in 1 minute 49 seconds
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
<tracer.version>1.0.8-RELEASE</tracer.version> <tracer.version>1.0.8-RELEASE</tracer.version>
<shadow.version>1.0.6-RELEASE</shadow.version> <shadow.version>1.0.6-RELEASE</shadow.version>
<netease.ddb.version>4.6.0.4</netease.ddb.version> <netease.ddb.version>4.6.0.4</netease.ddb.version>
<user-info-client.version>1.0.2-RELEASE</user-info-client.version>
<!-- store-db --> <!-- store-db -->
<mysql.version>5.1.34</mysql.version> <mysql.version>5.1.34</mysql.version>
...@@ -196,6 +197,18 @@ ...@@ -196,6 +197,18 @@
<version>${spring.data.redis.version}</version> <version>${spring.data.redis.version}</version>
</dependency> </dependency>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>user-ula-sdk</artifactId>
<version>1.0.13-RELEASE</version>
</dependency>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>user-info-client</artifactId>
<version>${user-info-client.version}</version>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
...@@ -223,6 +236,16 @@ ...@@ -223,6 +236,16 @@
<artifactId>apolloY-client</artifactId> <artifactId>apolloY-client</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>user-ula-sdk</artifactId>
</dependency>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>user-info-client</artifactId>
</dependency>
<!--默认引入missa--> <!--默认引入missa-->
<dependency> <dependency>
<groupId>com.netease.yanxuan.missa</groupId> <groupId>com.netease.yanxuan.missa</groupId>
......
package com.netease.mail.yanxuan.change.integration.rpc;
import com.netease.yanxuan.user.ula.sdk.AuthClient;
import com.netease.yanxuan.user.ula.sdk.meta.bean.AuthenticateResult;
import com.netease.yanxuan.user.ula.sdk.meta.common.Response;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserTicketClient {
@Autowired
private AuthClient authClient;
/**
* 用户鉴权
*
* @param cookie(cookie中的字段)
*/
public AuthenticateResult getUserInfo(String cookie) {
Response<AuthenticateResult> authenticate = authClient.authenticate(cookie, false);
return authenticate.getData();
}
/**
* 用户鉴权
*
* @param cookie(cookie中的字段)
*/
public AuthenticateResult getFullUserInfo(String cookie) {
Response<AuthenticateResult> authenticate = authClient.authenticate(cookie, true);
return authenticate.getData();
}
}
...@@ -14,6 +14,9 @@ import javax.servlet.http.Cookie; ...@@ -14,6 +14,9 @@ import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.netease.mail.yanxuan.change.integration.rpc.UserTicketClient;
import com.netease.yanxuan.user.ula.sdk.meta.bean.AuthenticateResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.HandlerInterceptor;
...@@ -37,6 +40,9 @@ public class UserInterceptor implements HandlerInterceptor { ...@@ -37,6 +40,9 @@ public class UserInterceptor implements HandlerInterceptor {
@Value("${product:product}") @Value("${product:product}")
String product; String product;
@Autowired
private UserTicketClient userTicketClient;
@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception { throws Exception {
...@@ -63,14 +69,12 @@ public class UserInterceptor implements HandlerInterceptor { ...@@ -63,14 +69,12 @@ public class UserInterceptor implements HandlerInterceptor {
// cookie不存在或者超过一个小时(时间自己定) // cookie不存在或者超过一个小时(时间自己定)
if (yxuser == null || yxuser.getLoginTime() < System.currentTimeMillis() - 60 * 1000 * 1000) { if (yxuser == null || yxuser.getLoginTime() < System.currentTimeMillis() - 60 * 1000 * 1000) {
//如果是ajax请求 //获取urs登陆态
if (!accept.contains("text/html") || request.getRequestURI().contains("ajax")) { String cookie = request.getHeader("Cookie");
log.info("ajax request user is null or login time too early, yxuser: {}", yxuser); AuthenticateResult userInfo = userTicketClient.getUserInfo(cookie);
} else { if (userInfo != null) {
String url = request.getRequestURL().toString(); RequestLocalBean.setUid(userInfo.getUsername());
String loginUrl = YxOpenidLogin.getLoginUrl(url); RequestLocalBean.setName(userInfo.getProfile().getNickName());
log.info("redirect url: {}", loginUrl);
response.sendRedirect(loginUrl);
} }
} else { } else {
// 获取用户信息 // 获取用户信息
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment