본문 바로가기

Ruby on Rails

로그인에서 헤메이다

지난번에 acts as authenticated를 쓰기로 했다고 했으나
회원가입만 하면 이메일수신 후 활성화도 안했는데 로그인이 덜렁되어버린다거나,
활성화를 안한 유저가 로그인을 하려고 하면 아무말도 없이 로그인창이 다시 뜨는 버그가 있어서 다른것을 찾아보기로 했다.
참, 계정 활성화 메일 보내기는 참 잘되더라 신기하데 거 ^^

http://wiki.rubyonrails.com/rails/pages/Authentication   레일스공식사이트에 있는 위키에 가보니 authentication이란 페이지에 또 잔뜩 로그인관련 플러그인 내지 프로그램들이 있네..

너무 정리가 안되어 있다. 애자일 웹디벨롭먼트에는 없던 것들도 여기에는 있고, 레일스에서의 로그인에 관한 것을 한곳에서는 찾을 수가 없다는 말인가? 기대하는것이 아직 무리인지도 모르겠다.

책이니 와인리스트를 만들기 이전에 레일스 관련 사이트를 먼저 만들어야 하나? ㅎㅎ

아무튼 위키에서 찾은 것중에 auth generator 라는 것이 기능이 풍부하다고 써 있길래 깔아봤다.
근데 이 놈은 화면의 디자인까지 쌈박하게 해놓고 로그인 실패하면 로그인 창을 흔들어 주기도 하는 기특한 인터페이스마저 갖추었으나 계정 활성화 메일이 도통 오질 않는다.--;

때려치우고 한잠을 자려고 누웠다가 결국 로그인은 간단하게 하고 전체를 만들어보는데 주력하기로 했으나
다시 http://rubyforge.org 에서  유력한 순위와 활동성 그리고 익히 들어본 토비아스 루트케가 진행중인 login generator를 발견 한번만 더 해보기로 함--;;

아 그 와중에 다시 mysql 의 암호문제를 다시 붙잡게 되어(어젠가 그제 그거 붙잡고 씨름을 하느라고 시간만 날린적이 있다.)  gem mysql 하여 루비인지 레일스의 mysql 어댑터쯤 되는걸 업데이트 했더니 레일스가 db에 붙질 못한다 --;
이 문제는 mysql의 인증방식이 바뀌면서 클라이언트들이 못따라가주는 것이 문제라고 하는데 작년 초에도 forum.rubykr.org에 올라와서 미해결인채로 넘어간 일이 있는  전력을 가진 놈이었다.
패스워드를 안쓰면 문제가 안생기지만 phpmyadmin을 켤때마다 경고가 나와서 영 찝찝하고 어차피 나중엔 패스워드를 걸어야하기에 여기저기 뒤져보다가 뭔가 설치를 하였으나 결국 괜한짓이 되어 버렸다.

해결책은 다시 까는 수 밖에, 프로그램만 복사 해놓고 다 언인스톨하고 이번엔 paimrails 대신 instantrails로 설치했다. 오 그런데 버전이 올라가서 그런지 db에 암호를 넣어도 잘 붙는것이다.
기쁨도 순간 phpmyadmin을 그간 써오다보니 데이타베이스 만들때 utf-8로 지정하는게 거기엔 기본인데, sqlyog엔 영 세팅이 안보이네?
어떻게 방법이 있겠지만 phpmyadmin을 살리기 위해 mysql의 암호를 올드버전으로 낮추는 껄쩍 지근한 방법을 쓰고야 말았다.
 
뭐 혼란의 연속이다. 이걸 이렇게 바꾸면 저게 말썽이고 저걸 해결하면 이게 말썽

이 난리를 치면서 든 생각은 레일스 개발자들 간에 아직 서로 소통이 별로 없고 이미 있는 정보들이 체계가 안잡혀서 여기저기 흩어져 있고 뭐가 좋은 놈인지 쉬뤡인지 알기가 어렵다는 거다.

다른 언어는 어떤지 잘 모르겠다. 아무튼 이 프로그래밍 계에도 내 "L"프로젝트는  큰 도움이 될것 같다는 생각이 든다 ^^


추가
Login generator도 깔아봤는데 영 수준 이하다.
가입시 아이디와 패스워드만 달랑받아서 어떤 페이지에서 로그인이 필요한지만 판단해주는 수준. 이메일 인증이나 패스워드 분실시 처리 같은 건 꿈도 못꾼다.
레일스 레시피의 첫번째 예제가 이정도 수준인데 그건 플러그인까지 안가고도 잘만한다

지금까지로는 acts as authenticated가 설명이 난잡하긴 해도 수정해서 쓰기엔 그나마 나아 보인다. auth generator가 계정 인증 메일만 잘 보내준다면 딱인데 아쉽다. 아 그거도아이콘 사진 업로드인가에서 에러가 하나 더 있었지만..내가 잘못 설치한 걸 수도 있구..모.. 아무튼 상당히 공들인 티가 나는 놈이다^^

참고: 레일스 위키의 authentication페이지
http://wiki.rubyonrails.com/rails/pages/Authentication