그누보드를 이용한 인트라넷에 대한 소고... 정보
그누보드를 이용한 인트라넷에 대한 소고...본문
아래는 개인적인 생각을 담은 글을 옮긴 것이라
경어체 못쓴 것을 아량으로 이해/용서해주세요.
-----------
그누보드를 이용한 인트라넷에 대한 소고...
그누보드로 인트라넷을 만들다보면 고객의 요청이 있다.
관리자 페이지를 같은 아이디(admin) 혹은 다른 아이디(admin1,admin2...)로 함께 들어가서
입력,수정,삭제(DML)을 하게 되는 경우가 있는데,
어떤 관리자급 멤버가, 어떤 작업을 하였는지 로그가 남도록 했으면 좋겠다고 하는 경우가 있다.
아이디어:
function sql_query(){
}
가장 많이 쓰는 핵심 함수에 global $member 를 넣고, 또 insert_log($member['mb_id'], $query_string );
이라는 메서드를 넣어두면 sql문이 동작하는 모든 작업에 로깅이 가능할 듯...
공용아이디 admin을 함께 쓰는 것은 정말 위험... 추적(tracking)이 안된다...
어떤 실수에 대해서 책임을 물을 수 없으니... 모두를 의심하게 되고... ㅜㅜ;
추천
1
1
베스트댓글
admin 계정을 여럿이 쓰지 마시고
최고 관리자의 권한을 여러 아이디로 만들 수 있는 아주 쉬운 방법이 있습니다.
common.php 중 로그인처리 부분 다음에 넣으시면 됩니다.
if($member['mb_id'] == '아이디값' ) $config['cf_admin'] = member['mb_id'];
최고 관리자의 권한을 여러 아이디로 만들 수 있는 아주 쉬운 방법이 있습니다.
common.php 중 로그인처리 부분 다음에 넣으시면 됩니다.
if($member['mb_id'] == '아이디값' ) $config['cf_admin'] = member['mb_id'];
저도 비슷한 요청을 받아서 고민한 적이 있었죠.
제가 찾은 답은 LOG로 사용하는 특정 필드를 두는 방법이었습니다.
일반 화면에서 읽어갈때는 where 절에 log_field = 'N' 만 읽어가도록 바꾸고...
변경 로그를 보여주어야 할때는 log_field = 'Y' 만 읽어서 변경 내역을 보여주는 방법으로요.
일반 게시판에서는 적용했었는데...
관리자 화면까지는 해보지는 않았네요.
관리자 화면도 비슷하게 가능할것 같아서요.
그 전에는 별도 테이블로 만들어서 테이블 내용을 json 형식으로 저장하고
보여줄때는 다시 풀어서 보여주고...
이게 여간 노가다 작업이었는데...
위와 같이 하니 일반 게시판은 훨씬 수월하더군요.
이전 데이터를 그대로 넣을 수 있으니까요.
단... 이 작업도... 모든 select에 log_field = 'N'을 넣어야 하는
최초 노가다는 필요하긴 합니다...
제가 찾은 답은 LOG로 사용하는 특정 필드를 두는 방법이었습니다.
일반 화면에서 읽어갈때는 where 절에 log_field = 'N' 만 읽어가도록 바꾸고...
변경 로그를 보여주어야 할때는 log_field = 'Y' 만 읽어서 변경 내역을 보여주는 방법으로요.
일반 게시판에서는 적용했었는데...
관리자 화면까지는 해보지는 않았네요.
관리자 화면도 비슷하게 가능할것 같아서요.
그 전에는 별도 테이블로 만들어서 테이블 내용을 json 형식으로 저장하고
보여줄때는 다시 풀어서 보여주고...
이게 여간 노가다 작업이었는데...
위와 같이 하니 일반 게시판은 훨씬 수월하더군요.
이전 데이터를 그대로 넣을 수 있으니까요.
단... 이 작업도... 모든 select에 log_field = 'N'을 넣어야 하는
최초 노가다는 필요하긴 합니다...
댓글 4개
관리자 권한을 여러명이 가지는 기업인가보군요.
admin 계정을 여럿이 쓰지 마시고
최고 관리자의 권한을 여러 아이디로 만들 수 있는 아주 쉬운 방법이 있습니다.
common.php 중 로그인처리 부분 다음에 넣으시면 됩니다.
if($member['mb_id'] == '아이디값' ) $config['cf_admin'] = member['mb_id'];
최고 관리자의 권한을 여러 아이디로 만들 수 있는 아주 쉬운 방법이 있습니다.
common.php 중 로그인처리 부분 다음에 넣으시면 됩니다.
if($member['mb_id'] == '아이디값' ) $config['cf_admin'] = member['mb_id'];
저도 비슷한 요청을 받아서 고민한 적이 있었죠.
제가 찾은 답은 LOG로 사용하는 특정 필드를 두는 방법이었습니다.
일반 화면에서 읽어갈때는 where 절에 log_field = 'N' 만 읽어가도록 바꾸고...
변경 로그를 보여주어야 할때는 log_field = 'Y' 만 읽어서 변경 내역을 보여주는 방법으로요.
일반 게시판에서는 적용했었는데...
관리자 화면까지는 해보지는 않았네요.
관리자 화면도 비슷하게 가능할것 같아서요.
그 전에는 별도 테이블로 만들어서 테이블 내용을 json 형식으로 저장하고
보여줄때는 다시 풀어서 보여주고...
이게 여간 노가다 작업이었는데...
위와 같이 하니 일반 게시판은 훨씬 수월하더군요.
이전 데이터를 그대로 넣을 수 있으니까요.
단... 이 작업도... 모든 select에 log_field = 'N'을 넣어야 하는
최초 노가다는 필요하긴 합니다...
제가 찾은 답은 LOG로 사용하는 특정 필드를 두는 방법이었습니다.
일반 화면에서 읽어갈때는 where 절에 log_field = 'N' 만 읽어가도록 바꾸고...
변경 로그를 보여주어야 할때는 log_field = 'Y' 만 읽어서 변경 내역을 보여주는 방법으로요.
일반 게시판에서는 적용했었는데...
관리자 화면까지는 해보지는 않았네요.
관리자 화면도 비슷하게 가능할것 같아서요.
그 전에는 별도 테이블로 만들어서 테이블 내용을 json 형식으로 저장하고
보여줄때는 다시 풀어서 보여주고...
이게 여간 노가다 작업이었는데...
위와 같이 하니 일반 게시판은 훨씬 수월하더군요.
이전 데이터를 그대로 넣을 수 있으니까요.
단... 이 작업도... 모든 select에 log_field = 'N'을 넣어야 하는
최초 노가다는 필요하긴 합니다...
질문답변 게시판에 올려야한건 아닌가요 ㅋㅋ