제목 | 세션을 이용해서 관리자가 회원을 강제로 로그아웃시키는 방법이 있을까요? | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | dantaek | 작성시각 | 2018/01/18 19:29:45 |
|
|||
관리자가 특정 사용자를 강제로 로그아웃 시키는 기능을 구현하고 싶은데 좋은 의견 듣고싶습니다.. CI에서 제공하는 세션 기능을 이용해서 처음에 시도한것은., 1. 사용자가 로그인 하면 세션아이디 값을 회원 테이블에 저장한다. 2. 관리자가 [특정 회원 강제 로그아웃] 버튼을 클릭하면 해당 회원의 세션 아이디를 가져오고, 그 값으로 ci_session 테이블과 매칭되는 레코드를 삭제한다
위의 방법으로 했을떄는 문제가 ., 세션에 sess_time_to_update 설정 때문에 세션과 세션 아이디가 계속 갱신되어서., 시간이 지나면 제대로 동작을 안하네요ㅠㅠ 세션을 갱신할때마다 회원 테이블에 같이 업데이트를 해주면 좋을 것 같은데,,. 찾아보니 그렇게 구현은 안될 것 같고.. 좋은 방법이 떠오르지 않습니다.
CREATE TABLE IF NOT EXISTS `ci_sessions` ( session_id varchar(40) DEFAULT '0' NOT NULL, ip_address varchar(16) DEFAULT '0' NOT NULL, user_agent varchar(120) NOT NULL, last_activity int(10) unsigned DEFAULT 0 NOT NULL, user_data text NOT NULL, PRIMARY KEY (session_id), KEY `last_activity_idx` (`last_activity`) );
위에가 ci_session 테이블 구조인데,. 여기서 기타 필드(예를드면 회원의 no를 저장할 수 있는 필드)를 추가해서 세션이 만들어질떄 값이 채워지도록 할 수는 없겠죠?? 의견 주시면 정말 감사하겠습니다. |
|||
다음글 | CI 3.1.7 DB 세션 사용시 데이터 생성이 안됩니... (1) | ||
이전글 | 세션 공유를 할려면 어떻게 해야할까요? (4) | ||
한대승(불의회상)
/
2018/01/19 09:26:50 /
추천
0
hook을 이용해서 처리하세요.
|
변종원(웅파)
/
2018/01/19 09:47:29 /
추천
0
db 세션을 사용하면 특정회원 찾아서 강제 로그아웃 가능합니다.
|
dantaek
/
2018/01/19 16:05:36 /
추천
0
두 분 답변 감사합니다 ., 그 특정 회원에게 할당된 세션 아이디를 db에서 삭제하고 싶은건데., 그 해당 회원의 세션 아이디를 찾을 수 있는 방법이 있나요??
|
dantaek
/
2018/01/24 04:25:59 /
추천
0
답을 찾지 못해서, pusher-js로 해결했습니다 ㅠㅠ
|
변종원(웅파)
/
2018/01/24 12:02:18 /
추천
0
dantaek/ 2버전에선 세션테이블의 data에서 사용자를 like 검색하면 됐는데 3버전에선 data 값이 암호화 되어 있네요. ^^;;
|
dantaek
/
2018/01/24 15:17:50 /
추천
0
네 맞습니다., ㅜㅜ 세션 테이블 구조가 바뀌었더라구요., 버전에 대한 힌트도 미리 드렸어야하는데 ~ 감사합니다!
|