코딩ㆍ개발 정보/HTML 연습

2차 도메인의 쿠키 설정 방법

RioRex 2025. 2. 14.

현재 코드에서 특정 도메인 그룹(cc, c1, c2)은 로그인 공유,
나머지 (p1, p2, p3, p4, p5)는 독립적 로그인을 유지하도록 설정하려면 다음과 같이 변경하면 됩니다.


1. 쿠키 설정 (로그인 시)

현재 코드에서 c1, c2가 로그인하면 cc로 통합해야 하기 때문에
공유 도메인(.exam.co.kr)에 로그인 쿠키를 설정하고,
독립적인 도메인(p1, p3 등)은 각자 로그인 쿠키를 설정해야 합니다.

<%
Dim currentDomain, loginToken, siteType

loginToken = "UserSessionData" ' 로그인 토큰
currentDomain = Request.ServerVariables("HTTP_HOST") ' 현재 접속한 도메인
siteType = "independent" ' 기본적으로 독립적인 로그인

' c1, c2의 경우 로그인하면 cc 도메인으로 변경
If (currentDomain = "c1.exam.co.kr" Or currentDomain = "c2.exam.co.kr") Then
    Response.Cookies("siteTypeCookie") = ""
    Response.Cookies("siteTypeCookie").Domain = ".exam.co.kr"
    Response.Cookies("siteTypeCookie").Path = "/"

    ' 공유 도메인 쿠키 설정
    Response.Cookies("LoginToken") = loginToken
    Response.Cookies("LoginToken").Domain = ".exam.co.kr"
    Response.Cookies("LoginToken").Path = "/"
    Response.Cookies("LoginToken").Expires = DateAdd("d", 7, Now()) ' 7일 유지

    Response.Redirect "https://cc.exam.co.kr"
ElseIf (currentDomain = "cc.exam.co.kr") Then
    ' cc 도메인 유지 (공유)
    Response.Cookies("LoginToken") = loginToken
    Response.Cookies("LoginToken").Domain = ".exam.co.kr"
    Response.Cookies("LoginToken").Path = "/"
    Response.Cookies("LoginToken").Expires = DateAdd("d", 7, Now()) ' 7일 유지
Else
    ' 독립적인 도메인 (p1, p3 등) -> 현재 도메인에 쿠키 저장
    Response.Cookies("LoginToken") = loginToken
    Response.Cookies("LoginToken").Domain = currentDomain
    Response.Cookies("LoginToken").Path = "/"
    Response.Cookies("LoginToken").Expires = DateAdd("d", 7, Now()) ' 7일 유지
End If
%>
 

2. 로그아웃 처리

쿠키를 삭제할 때도 동일한 domain을 적용해야 함.

 

🔹 공유 로그인 그룹 (cc, c1, c2)

<%
Response.Cookies("LoginToken") = ""
Response.Cookies("LoginToken").Domain = ".exam.co.kr"
Response.Cookies("LoginToken").Path = "/"
Response.Cookies("LoginToken").Expires = Date - 1 ' 즉시 만료

Response.Redirect "/login.asp"
%>

🔹 독립 로그인 그룹 (p1, p3 등)

<%
Response.Cookies("LoginToken") = ""
Response.Cookies("LoginToken").Domain = Request.ServerVariables("HTTP_HOST")
Response.Cookies("LoginToken").Path = "/"
Response.Cookies("LoginToken").Expires = Date - 1 ' 즉시 만료

Response.Redirect "/login.asp"
%>

결론

cc, c1, c2 → .exam.co.kr 공유 쿠키 사용
p1, p3, p5 등 → 개별 도메인에서 로그인 쿠키 유지
로그아웃 시에도 각각 적용된 도메인에 맞게 쿠키 삭제

이렇게 하면 로그인 공유 정책을 적용하면서도, 독립적인 로그인 정책도 유지할 수 있습니다! 🚀

반응형

댓글