django-pyroven Django ayar modülü AUTHENTICATION_BACKENDS eklenebilir Django kimlik arka uç içerir Django uygulaması:
AUTHENTICATION_BACKENDS (=
& Nbsp; 'pyroven.pyroven_django.RavenAuthBackend'
& Nbsp; 'django.contrib.auth.backends.ModelBackend'
)
Bu normal bir Django giriş ve Raven giriş hem de izin verir.
Yapılandırma yüklü olduğundan emin olmalısınız pyroven kullanarak şey; Bu Raven tekiz sınıfta yapılandırma değişkeni ayarlayarak yapılır:
pyroven ithalat RavenConfig gelen
pyroven.pyroven_django ithalat Raven adlı
def) (yapılandırın:
& Nbsp, r = Raven ()
& Nbsp; r.config Yok eğer:
& Nbsp; r.config = RavenConfig ("raven.ini")
giriş sayfası Kuzgun kullanıcıları yönlendirmek gerekir:
def raven_login (istek):
& Nbsp; # biz düzgün yapılandırılmış olduğunu olun
& Nbsp; yapılandırmak ()
& Nbsp; # Raven nesnesini alın ve Raven sunucusuna bir yönlendirme iade
& Nbsp, r = Raven ()
& Nbsp; dönüş r.get_login_redirect ()
Kullanıcı Raven ile doğrulanmış ettiğinde, Raven sunucusu sitenize onları geri yönlendirir (tam URL yukarıdaki ini dosyasında belirtilen). Dönüş sayfası Django HTTP GET yoluyla Raven sunucusundan alınan bir belirteç ile kimlik doğrulaması ve oturum açma fonksiyonları aramalısınız:
django.contrib.auth ithalat kimlik doğrulaması, girişten
def raven_return (istek):
& Nbsp; # biz düzgün yapılandırılmış olduğunu olun
& Nbsp; yapılandırmak ()
& Nbsp; # Raven sunucu bize gönderilen belirteç alın - bu gerçekten gerekir
& Nbsp; # KeyError yakalamak için onun çevresi hariç / bir deneyin
& Nbsp; belirteci = request.GET ['WLS-Tepki']
& Nbsp; # Bu, geçerli bir belirteç olup olmadığına bakın
& Nbsp; kullanıcı kimlik doğrulaması = (response_str = belirteç)
& Nbsp; kullanıcı Yok ise:
& Nbsp; err # çeşit
& Nbsp; else:
& Nbsp; giriş (istek, kullanıcı)
& Nbsp; # yere mantıklı yönlendir
& Nbsp; HttpResponseRedirect dönmek ('/')
Raven ayarları yüklenir .ini dosyası aşağıdaki biçimi vardır:
[Kuzgun]
LOGIN_URL = "http://raven.cam.ac.uk/auth/authenticate.html"
LOGOUT_URL = "http://raven.cam.ac.uk/auth/logout.html"
return_url = "http://your.server.cam.ac.uk/ravenreturn/"
pubkeys = {'2': '/ / yol / pubkey2.crt'}
Gereksinimler :
- Python
- Django
Yorum Bulunamadı