행주기씨대종중

홈페이지 운영자료

족보프로그램과 그누보드4를 세션으로 로그인연동 관련

페이지 정보

profile_image
작성자 관리자
댓글 0건 조회 4,591회 작성일 21-02-22 11:58

본문

족보프로그램과 그누보드4를 세션으로 로그인연동 관련

자체 홈페이지에서 $_SESSION['ss_mb_id'] 사용하기
여러 기능이나 회원 관련은 직접 제작해서 사용하고 게시판을 그누보드로 사용하고있다. 자체 제작된 홈페이지에서 로그인 하면 그누보드로 로그인한 것과 같은 형태로 사용을 하려한다.
조건은 둘다 같은 서버에 같은 도메인이며 포더만 다르다.
그누보드4는 로그인 때 세션 등록이 bbs/login_check.php 에 ss_mb_id, ss_mb_key 두 가지다.
이부분에 대해서 자체 로그인시 두 세션을 모두 등록 하도록 하였다.

자체적으로 만든 페이지에서는

session_start();
echo $_SESSION['ss_mb_id'];

하면 해당 세션값이 잘 나온다.

그누보드를 활용하는 부분에 있어서는 해당 세션값이 나오질 않는다.


login_check.php에서 디렉토리 관련은 보이지 않던데 자체 시스템에서는 세션 디렉토리 그런 부분은 없다.
요약 하자면 자체 로그인시 자체적으로 ss_mb_id를 등록하고 자체 페이지에서는 ss_md_id 세션이 잘나오는데 그누보드4 관련된 페이지에서는 ss_md_id 값이 나오질 않는 경우.

그누보드4의 경우 세션이
//common.php 파일에 이렇게 선언되어있다
session_save_path("{$g4['path']}/data/session");

세션은 그누보드설치홈페이지에서는 그누 설치 폴더/data/session 에 저장된다.
그누보드 환경에 맞추려면 session_start() 하기 전에
session_save_path("{$g4['path']}/data/session");  로그인 하는 파일에서 세션 디렉토리를 맞춰줘야 한다.

짧게 정리하자면...

1. 그누보드가 아닌 회원 DB를 사용하고 있다.
2. 해당 회원 시스템으로 로그인 하더라도 게시판 이용이 동일하고 관리자 역활도 같아야 한다.
3. 로그인 하는 페이지에서  session_save_path("{$g4['path']}/data/session"); 를 맞춰주고 session_start()를 한다.
4. $_SESSION['ss_mb_id']를 로그인 할 때 등록 하도록 한다.
5. 이제 $_SESSION['ss_mb_id']를 활용할 수 있다.
6. 여러 회원정보를 연동(?) 하려면
  1). gnuboard4/lib/common.lib.php 에서 get_member에서
  2). 자체 회원 시스템의 DB를 불러와서
  3). 적절한 데이터를 기존 그누보드의 DB구조에 맞게 입력하여 줘서
  4). 해당 배열을 리턴해준다.
이렇게 하니 개인 회원이 쓴 비밀글도 해당 회원이 잘 봐지고 관리자는 관리자 기능 가능하다.
그누보드 회원 DB구조에 맞춘 건 mb_no, mb_id, mb_password, mb_name, mb_level, mb_datetime 정도로 하였다.

댓글목록

등록된 댓글이 없습니다.


Copyright © KISTORY.NET 2001 - 2024 기회근 개인 홈페이지 All rights reserved.
모바일버전