私はDjangoを初めて使用するので、これは私の知識に大きな穴があることを示しているだけかもしれません. 2つは非常に密接にリンクされるため、django-openstack-authを使用してwebappをOpenstackに認証しようとしています。ただし、カスタム認証バックエンドを機能させる方法がわかりません。http://django-openstack-auth.readthedocs.org/en/latest/index.htmlの指示に従ってみましたが、少しまばらで、実際に機能する例はありません。
以下は私が変更した構成ファイルですが、適切に機能していません。いくつかの広範なグーグル検索の結果、私がこのモジュールを使用した最初の人であると判断しました(?) (実際、または私は最も愚かです)
settings.py:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
'openstack_auth',
)
#AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend','openstack_auth.backend.KeystoneBackend',)
AUTHENTICATION_BACKENDS = ('openstack_auth.backend.KeystoneBackend',)
OPENSTACK_KEYSTONE_URL = "http://192.168.XX.XX:35357/v2.0"
urls.py:
from django.conf.urls import patterns, include, url
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Uncomment the admin/doc line below to enable admin documentation:
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
url(r'', include('openstack_auth.urls')),
)
私は必死になり、ビューで手動で認証しようとしましたが、これでも認証エラーが発生します...
from django.http import HttpResponse
from django.contrib.auth import authenticate, login
def home(request):
user = authenticate(username='user', password='password')
if user is None:
login(request, user)
else:
return HttpResponse("Hello")
どんなポインタでも大歓迎です...
どうもありがとう
アレックス