본문 바로가기

Web

Django-userena로 사용자 등록/로그인 구현 - 개요 및 설치


Django(1.5.1)를 설치했고, 그 위에 웹 서비스를 구현하려고 한다. 가장 먼저 손을 대볼까 하다가 사용자 등록, 로그인, 로그아웃의 기능을 먼저 손대볼려고 한다. 그런데, 이것도 Django에 기본적으로 포함된 기능을 이용하면 좋겠지만, 구현을 어떻게 하려는가에 따라 커스터마이즈를 하거나 새롭게 구현해야 하는 일이 발생한다. 예를들면, 로그인을 요즘에는 id로 email주소를 많이 쓰고, email로 인증 확인메일을 보내서 사용자를 등록시킨다. 또는 google이나 facebook의 ID를 가져다가 사용하는 경우가 많다. 이때문에 다른 오픈소스 패키지를 다운받아 설치하거나 기존 기능을 적당히 커스터마이즈하는 방법을 선택해야 한다.


몇가지를 찾아보다가, 선택한 패키지는 django-userena 1.2.0 버젼.

일단 email을 고유 id로 사용하고, 그 email로 인증 확인 메일을 보내고, 로그인 한 id의 세션유지 기간을 쉽게 설정할 수 있는 등의 핵심 기능은 다 가진듯 하여 선택하였다.


  • django-userena 1.2.0 : http://www.django-userena.org/
    * 위 사이트로 이동해보면 이 패키지를 이용하면 어떻게 등록하고 로그인하게 되어있는지를 볼 수 있다.
    * 등록 또는 로그인이 username이나 email address로 들어가게 되어 있다.





Userena?


가입(Signup), 로그인(SignIn), 계정편집, 개인정보 보호설정, 개인 메세지등을 설정할 수 있도록 하는 앱. 이 django app.을 설치하면 아래에 설명된 기능들을 가질 수 있다고 한다.


    • 가입한 사용자에게 보내지는 확인 메일에 activation 링크를 클릭하는 것으로 계정을 활성화 시킬 수 있다.
    • 계정의 수정, 삭제에 대한 권한은 django-guardian기반으로 구현되어져 있다.
    • 옵션으로 https를 사용한 보안이 가능하다. https를 사용하기위해 설정을 변경한다면, userena는 보안 프로토콜로 변경된다.
    • 모든 템플릿(template)이 갖춰져 있으니 억지로 고쳐서 사용할 필요없이 오버라이딩해서 사용하면 된다.
    • Mugshots는 Gravatar 또는 사용자의 업로드로 공급된다.(무슨말?)
    • 사용자 사이의 대화 내용을 보여주는 것같은, 또는 Gmail처럼 주제에 대한 리스트로 정렬되는 것같은 메세징 시스템을 내장하고 있다.

Installation


* userena는 아직 python 3에서 테스트되지 않았다고 함.


설치는 간단하다. pip 를 이용하여 자동으로 설치가 가능하다.


pip install django-userena 


또는 직접 다운로드받아 설치해도 된다.



 git clone git://github.com/bread-and-pepper/django-userena.git

cd django-userena

easy_install setup.py


이밖에 개발자 버젼을 자동으로 설치하는 방법같은 다른 내용은 userena installation 문서 참조. (http://docs.django-userena.org/en/latest/installation.html)