Commit 4872137d by 穆龙飞

modify:修改登录拦截

parent 8cb3e13f
......@@ -39,6 +39,7 @@
<tracer.version>1.0.8-RELEASE</tracer.version>
<shadow.version>1.0.6-RELEASE</shadow.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 -->
<mysql.version>5.1.34</mysql.version>
......@@ -196,6 +197,18 @@
<version>${spring.data.redis.version}</version>
</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>
</dependencyManagement>
......@@ -223,6 +236,16 @@
<artifactId>apolloY-client</artifactId>
</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-->
<dependency>
<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;
import javax.servlet.http.HttpServletRequest;
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.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
......@@ -37,6 +40,9 @@ public class UserInterceptor implements HandlerInterceptor {
@Value("${product:product}")
String product;
@Autowired
private UserTicketClient userTicketClient;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
......@@ -63,14 +69,12 @@ public class UserInterceptor implements HandlerInterceptor {
// cookie不存在或者超过一个小时(时间自己定)
if (yxuser == null || yxuser.getLoginTime() < System.currentTimeMillis() - 60 * 1000 * 1000) {
//如果是ajax请求
if (!accept.contains("text/html") || request.getRequestURI().contains("ajax")) {
log.info("ajax request user is null or login time too early, yxuser: {}", yxuser);
} else {
String url = request.getRequestURL().toString();
String loginUrl = YxOpenidLogin.getLoginUrl(url);
log.info("redirect url: {}", loginUrl);
response.sendRedirect(loginUrl);
//获取urs登陆态
String cookie = request.getHeader("Cookie");
AuthenticateResult userInfo = userTicketClient.getUserInfo(cookie);
if (userInfo != null) {
RequestLocalBean.setUid(userInfo.getUsername());
RequestLocalBean.setName(userInfo.getProfile().getNickName());
}
} 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