개발 Q&A

제목 회원등급에 따라 로그인 막기
글쓴이 함박눈 작성시각 2016/01/29 13:30:51
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 11360   RSS

회원등급이 일시정지회원이거나 삭제회원이면 로그인을 못하게 하려 합니다.

$_COOKIE['db_se']에 현재 로그인된 회원의 아이디가 들어있어서 이 값을 이용해

if문을 짤려고하는데 로그인을 막는 로직은 처음인지라 어떻게 해야할지 모르겠네요ㅠ;;

 

//$m_state는 회원등급입니다. 2= 일시정지회원. 3=삭제회원

if($m_state=='2' || $m_state=='3'){

      $_COOKIE['db_se']

}

 

이런 로직이 아니더라도 자바스크립트나 다른 방법으로 처리할 수 있을까요?

태그 로그인,회원등급
 다음글 인쇄질문 (6)
 이전글 부트스트랩 데이트 피커에 대해 질문합니다. (2)

댓글

변종원(웅파) / 2016/01/29 14:03:51 / 추천 0

자바스크립트로 짜는 것은 위험합니다. 해당 부분은 서버에서 처리하는게 맞고요.

 

로그인 처리 전에 db에서 그 회원정보를  먼저 가져와서 회원 등급과 비교를 하여 일시정지나 삭제회원일 경우

로그인처리 하지 않고 메인으로 리다이렉트, 정상회원일 경우 로그인 처리(세션 생성)를 해주면 됩니다.

함박눈 / 2016/01/29 14:44:15 / 추천 0

@//변종원(웅파)

답글 감사합니다~

알려주신대로 컨트롤러 쪽에서 회원상태가 일시정지이거나 삭제이면 로그인 화면으로 돌아가게끔 소스를 짜보았습니다.

그런데 일시정지 상태인 회원이어도 로그인이 잘 되더라구요^^;;

소스에 어떤 문제가 있는건지 알 수 있을까요?ㅠ

 

if($_COOKIE['db_se']){  
      if($m_state=='2' || $m_state=='3'){        
        header("Location: http://사이트url/clogin/login"); 
        exit();
    }            
  }

 

수야디벨 / 2016/01/29 15:18:38 / 추천 0

그러면 if문을 안타는거 아닌가요?? 일단 if문에 잘들어가는지 , $m_state 값이 제대로 2가 찍히는지 차례차례 디버깅 해보시면 될것같아요~!

변종원(웅파) / 2016/01/29 15:29:43 / 추천 0

위 소스대로라면 첫번째 구문이 이미 로그인되어 있다는 가정하에 시작하는겁니다.

 

로그인을 먼저 하는게 아니라 로그인전에 제가 올려드린 로직으로 체크를 하는 겁니다.

kaido / 2016/01/29 15:51:02 / 추천 0

로그인 처리가 아리송 하시면

 

tank_auth 라이브러리 넣고 한 일주일 면밀히 분석해 보시면 로그인 시스템에 학을 떼게 됩니다.