안녕하세요.
현재 같은 도메인 안에
/ <- 국문페이지
/en <- 영문페이지
로 개발중에 있습니다.
국문페이지에서 관리자를 로그인 시,
영문페이지도 관리자 권한을 유지하게 하려는 작업중인데,
common.php에 session_save_path 주석해제 후 경로 설정등을 해봐도 공유가 잘 되지 않습니다.
도움을 얻을 수 있을까요?
버전은 5.5x 버전 입니다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
도움주신대로 /config 와 /en/config 의 SESSION_PATH 값을 동일하게 맞춰 보았지만, 공유가 되지를 않습니다...
방법을 알 수 있을까요?
답변 5개 / 댓글 13개
짐작에
국문 로그인
영문 페이지 열고
다시 국문으로 오면 로그인이 풀리지 않나요?
// 차단된 회원이면 ss_mb_id 초기화, 또는 세션에 저장된 회원 토큰값을 비교하여 틀리면 초기화
if( ($member['mb_intercept_date'] && $member['mb_intercept_date'] <= date("Ymd", G5_SERVER_TIME))
|| ($member['mb_leave_date'] && $member['mb_leave_date'] <= date("Ymd", G5_SERVER_TIME))
|| (function_exists('check_auth_session_token') && !check_auth_session_token($member['mb_datetime']))
) {
set_session('ss_mb_id', '');
$member = array();
} else {
여기를
// 차단된 회원이면 ss_mb_id 초기화, 또는 세션에 저장된 회원 토큰값을 비교하여 틀리면 초기화
if( false)
|| ($member['mb_leave_date'] && $member['mb_leave_date'] <= date("Ymd", G5_SERVER_TIME))
|| (function_exists('check_auth_session_token') && !check_auth_session_token($member['mb_datetime']))
) {
set_session('ss_mb_id', '');
$member = array();
}
이렇게 해서 로그인 유지가 된다면
if 문 안에 함수를 하나씩 조사?해 봐야겠네요.
찾았습니다.
그누보드가 바뀌면서 변경된 부분이 있는데
common.php에서
// 차단된 회원이면 ss_mb_id 초기화, 또는 세션에 저장된 회원 토큰값을 비교하여 틀리면 초기화
if( ($member['mb_intercept_date'] && $member['mb_intercept_date'] <= date("Ymd", G5_SERVER_TIME))
|| ($member['mb_leave_date'] && $member['mb_leave_date'] <= date("Ymd", G5_SERVER_TIME))
|| (function_exists('check_auth_session_token') && !check_auth_session_token($member['mb_datetime']))
) {
$member['mb_datetime'] 이 값이 같아야 하네요.
phpmyadmin 등에서 값을 같게 하시거나
이 부분을 사용하지 않도록 소스를 수정해 보세요.
답변에 대한 댓글 3개
if( ($member['mb_intercept_date'] && $member['mb_intercept_date'] <= date("Ymd", G5_SERVER_TIME))
|| ($member['mb_leave_date'] && $member['mb_leave_date'] <= date("Ymd", G5_SERVER_TIME))
|| (function_exists('check_auth_session_token') && !check_auth_session_token($member['mb_datetime']))
) {
여기서 마지막 조건
(function_exists('check_auth_session_token') && !check_auth_session_token($member['mb_datetime']))
만 거치지 않게 해도 되는 부분일까요?
둘다 로그인 전 입니다.
----/----
Array ( [ss_is_mobile] => )
----/en----
Array ( [ss_is_mobile] => )
국문만 로그인 하고 입니다.
----/----
Array (
[ss_is_mobile] =>
[ss_mb_id] => admin
[ss_mb_key] => 값
[ss_mb_token_key] =>값
[HA::STORE] => Array ( )
[HA::CONFIG] => Array ( )
[sl_userprofile] =>
[social_login_redirect] =>
[ss_cart_id] => 2022101211164467 )
----/en----
Array ( [ss_is_mobile] => )
마지막 조건을 제거해도 이렇네요...ㅠ
국문페이지에서 관리자를 로그인 시,
영문페이지도 관리자 권한을 유지하게 하려는 작업중인데,
==
혹시 각각 사이트 주소가 다른 건 아니죠?
답변에 대한 댓글 6개
Array (
[ss_is_mobile] =>
[ss_mb_id] => admin
[ss_mb_key] => 키값
[ss_mb_token_key] => 키값
[HA::STORE] => Array ( )
[HA::CONFIG] => Array ( )
[sl_userprofile] =>
[social_login_redirect] =>
[ss_cart_id] => 2022101210162681
)
영문 (로그인 하지 않은 상태입니다.)
Array (
[ss_is_mobile] =>
[ss_bo_table] => contact_en
[ss_wr_id] => 0
[ss_captcha_count] => 0
[ss_captcha_key] => 키값
[ss_captcha_save] => 키값
)
현재 이렇게 나오고 있습니다. 관리자 로그인 자체를 거치지 않은거 같네요...
data/session
en/data/session
이 같아야 세션 공유가 됩니다.
==
도움주신대로 /config 와 /en/config 의 SESSION_PATH 값을 동일하게 맞춰 보았지만,
==
해 보신 소스를 올려 보세요
답변에 대한 댓글 2개
define('G5_SESSION_PATH', G5_DATA_PATH.'/'.G5_SESSION_DIR); (기본과 동일)
/en/config 의 SESSION_PATH
define('G5_SESSION_PATH', '/home/homepage/public/inthetech/pg/data/'.G5_SESSION_DIR); (절대경로로 수정)
이렇게 변경했습니다.
/en/config 앞의 /home/homepage/public/inthetech/pg/data/ 의 경우 /config 의 G5_DATA_PATH 값과 동일합니다.
답변을 작성하려면 로그인이 필요합니다.
일단 국문 로그인 -> 영문을 들어가도 로그인은 풀리지 않습니다.
올려주신 첫번째 조건 false 로 변경시에도 현상태 그대로 유지가 되네요...