我是 Django 的新手,所以这可能只是在我的知识中显示出一个巨大的漏洞。我正在尝试使用 django-openstack-auth 向 Openstack 验证我的 webapp,因为两者将非常紧密地联系在一起。但是我不知道如何让自定义身份验证后端工作。我已经尝试按照http://django-openstack-auth.readthedocs.org/en/latest/index.html上的说明进行操作,但是它们有点稀疏,实际上并没有一个有效的示例。
下面是我更改的配置文件,但是它不能正常运行,一些广泛的谷歌搜索导致我决定我是第一个使用这个模块的人(?)(实际上或者我只是最愚蠢的)
设置.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"
网址.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")
任何指针将不胜感激......
非常感谢
亚历克斯