Sfoglia il codice sorgente

입점업체 인증키(authKey) 칼럼 추가에 따른 수정. 2factor인증제외용

gagamel 4 anni fa
parent
commit
9e4b53e7c3

+ 1 - 0
src/main/java/com/style24/persistence/domain/User.java

@@ -48,5 +48,6 @@ public class User extends TscBaseDomain {
 	private String maskingYn;		// 마스킹여부
 	private int loginFailCnt;
 	private String loginFailYn;
+	private String authKey;			// 인증키. 셀러툴(사방넷, 샵링커, EC모니터 등)에서의 2factor인증 제외처리용
 
 }

+ 6 - 0
src/main/java/com/style24/persistence/mybatis/shop/TssLogin.xml

@@ -21,6 +21,12 @@
 		                 WHERE  SUPPLY_COMP_CD = A.ROLE_REF_VAL
 		                )
 		       END                                       AS SUPPLY_COMP_NM /*공급업체명*/
+		     , CASE WHEN SUBSTRING(REPLACE(ROLE_CD,'G001_', ''),1,1) = 'B' THEN
+		                (SELECT AUTH_KEY
+		                 FROM   TB_SUPPLY_COMPANY
+		                 WHERE  SUPPLY_COMP_CD = A.ROLE_REF_VAL
+		                )
+		       END                                       AS AUTH_KEY       /*공급업체인증키*/
 		     -- , CASE WHEN SUBSTRING(REPLACE(ROLE_CD,'G001_', ''),1,1) = 'E' THEN
 		     --            ROLE_REF_VAL
 		     --   END                                       AS PHOTO_COMP_CD  /*촬영업체코드*/

+ 18 - 0
src/main/java/com/style24/scm/support/security/handler/TssLoginSuccessHandler.java

@@ -6,6 +6,7 @@ import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
@@ -68,6 +69,23 @@ public class TssLoginSuccessHandler implements AuthenticationSuccessHandler {
 	private void createSession(HttpServletRequest request, TssLoginDetails loginDetails) {
 		TssSession.getNewSess(request, -1);
 		TssSession.setAttribute(request, loginDetails);
+
+		// 입점업체이면서
+		if ("G001_B000".equals(loginDetails.getLoginInfo().getRoleCd())) {
+			// Header에 인증키가 있으면
+			String headerAuthKey = request.getHeader("x-auth-key");
+			log.info("x-auth-key: {}", headerAuthKey);
+
+			if (StringUtils.isNotBlank(headerAuthKey)) {
+				String authKey = loginDetails.getLoginInfo().getAuthKey();
+
+				// 입점업체의 인증키와 Header의 인증키가 같으면 2factor인증 skip을 위한 2factor인증 세션을 true로 설정
+				if (authKey.equals(headerAuthKey)) {
+					log.info("x-auth-key is equal!!!");
+					TssSession.setAttribute("isTfcertify", "true");
+				}
+			}
+		}
 	}
 
 }