django_openstack_auth 원본 분석 및 통합
최근에 비교적 간단한 WEB 앱을 만들어서 오픈스테이크의 간단한 내용을 보여 주었는데 인증은 항상 통합되어야 한다. 다음djangoopenstack_auth 구성 요소, 그 자체는django 응용 프로그램의 인증 백엔드로서 통합할 수 있습니다.
통합
공식 문서를 뒤적거렸을 때 먼저 몇 가지 구성과 설치를 간단하게 할 수 있습니다.
Run pip install django_openstack_auth.
Add openstack_auth to settings.INSTALLED_APPS.
Add ‘openstack_auth.backend.KeystoneBackend’ to your settings.AUTHENTICATION_BACKENDS, e.g.:
AUTHENTICATION_BACKENDS = (‘openstack_auth.backend.KeystoneBackend’,) Configure your API endpoint(s) in settings.py:
OPENSTACK_KEYSTONE_URL = “http://example.com:5000/v3” Include ‘openstack_auth.urls’ somewhere in your urls.py file.
Use it as you would any other Django auth backend. 이 절차는 매우 간단하다. 주로 페이지가 어떻게 집적되어야 하는가?오픈스택을 보시면...auth 원본 urls.py
url(r"^login/$", "login", name='login'),
url(r"^logout/$", 'logout', name='logout'),
URL 주소가 있는 것을 볼 수 있습니다.views로 들어가십시오.py는 login 방법을 보고 대체적으로 다음과 같다.
Created with Rapha l 2.1.0 POST 시작 및 SSO?SSO 로그인 끝 처리regions 그룹form 그룹template(auth/login.html) 호출login(X) 저장session yes no
스스로 auth/login을 준비해야 한다는 것을 알 수 있습니다.html 템플릿, 그래서 템플릿을 썼는데 그 안에 FORM을 어떻게 썼을까요? 처음에 스스로 FORM을 썼고username 등 속성을 썼는데post에 따라auth/login에 로그인하지 못했습니다.곰곰이 생각해 보면 이런 절차도 옳지 않은 것 같고form과는 전혀 관련이 없고 절차에 문제가 있다.그래서 TEST의 예를 보고 문득login에서 깨달았다.html에 다음과 같은 FORM을 쓰면 됩니다.
<form method="post" action="/auth/login/">
{% csrf_token %}
{{ form.as_p }}
<button class="btn" type="submit"> </button>
<input type="hidden" name="next" value="{{ next }}" />
그러고 보니 역시 로그인이 되네요~~
로그인 확인
로그인하지 않은 호출에 대해서는 로그인 인터페이스로 이동해야 합니다.
@login_required(login_url="/auth/login/")
함수 이름에 이것만 추가하면 됩니다. 로그인하지 않으면 자동으로 이동합니다.
세팅에 또 넣었어요.
if not WEBROOT.endswith('/'):
WEBROOT += '/'
if LOGIN_URL is None:
LOGIN_URL = WEBROOT + 'auth/login/'
if LOGOUT_URL is None:
LOGOUT_URL = WEBROOT + 'auth/logout/'
if LOGIN_REDIRECT_URL is None:
LOGIN_REDIRECT_URL = WEBROOT
이로써 로그인 문제는 기본적으로 해결되었습니다~
참고 자료
http://docs.openstack.org/developer/django_openstack_auth/installation.html#installation
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.