사용자 이름과 암호를 사용하는 간단한 양식을 사용하고 LDAP 서버를 사용하여 해당 사용자를 인증하려고합니다. 대시 보드의 실제 포털은 PHP로 작성되었지만 django (및 pyldap)를 사용하여 다시 작성해야합니다. 내 settings.py 파일에서 다음과 같은 설정을했습니다 (URI를 수정 한 것은 내가 근무하는 회사에서 사용했기 때문입니다). 내 views.py에서Django 및 LDAP를 사용하여 인증 할 수 없음
# LDAP Settings
# Set backends
AUTHENTICATION_BACKENDS = (
'django_auth_ldap.backend.LDAPBackend',
)
# LDAP Server
AUTH_LDAP_SERVER_URI = 'ldaps://eddie.xy.zzzzz.com:3268'
AUTH_LDAP_START_TLS = True
# Search settings
AUTH_LDAP_BIND_DN = ""
AUTH_LDAP_BIND_PASSWORD = ""
AUTH_LDAP_USER_SEARCH = LDAPSearch("ou=users,dc=xy,dc=zzzzz,dc=com", ldap.SCOPE_SUBTREE, "(uid=%(user)s)")
, 나는 포스트 "= 방법,
from django.shortcuts import render
from django.contrib.auth import authenticate
from django_auth_ldap.backend import LDAPBackend # Greyed out
def login(request):
if request.method == 'POST':
# Get info from POST request
usr = request.POST['username']
pas = request.POST['password']
# Authenticate the user using provided data
user = authenticate(username=usr, password=pas)
print(str(user))
if user is not None:
return render(request, 'dashboard/index.html', {})
else:
print("The username and password were incorrect.")
return render(request, 'dashboard/error.html', {})
elif request.method == 'GET':
return render(request, 'dashboard/login.html', {})
login.html이의 양식 간단한 HTML 코드를 포함 (단지 물건을 테스트) 코드를 다음 한 "action ="/ login/". Index.html은 간단한 "성공"메시지를 포함하고 있으며 error.html은 간단한 "wrong!" 메시지. 내가 만든 양식으로 내 (작업) 자격 증명을 사용하고 있지만 성공 메시지를 얻을 수 없습니다.
at = LDAPBackend()
user = authenticate(username=usr, password=pas)
대신 위의 코드에서 사용을 인증 방법 : 나는 또한 시도 무엇
이 있었다. 불행히도 나는 똑같은 행동을하고있다. 나는 무엇을 놓치고, 내 실수는 어디에 있습니까?