zope.authentication

Screenshot Software:
zope.authentication
Detalii soft:
Versiune: 4.0.0
Incarca data: 20 Feb 15
Licenţă: Gratuit
Popularitate: 22

Rating: nan/5 (Total Votes: 0)

zope.authentication oferă o definiție a conceptelor de autentificare pentru utilizare în cadru Zope.
documentație detaliată
Suport Logout
Sprijin Logout este definită printr-un simplu ILogout interfață:
& Nbsp; >>> din zope.authentication.interfaces import ILogout
care are o singură metodă "logout".
Utilizarea actuală a ILogout este de a se adapta o componentă IAuthentication a ILogout Pentru a ilustra, vom crea o implementare deconectare simplu care se adapteaza IAuthentication:
& Nbsp; >>>adapter (IAuthentication)
& Nbsp; ...implementer (ILogout)
& Nbsp; ... clasă SimpleLogout (obiect):
& Nbsp; ...
& Nbsp; ... def automat metodei __init __ (self, auth):
& Nbsp; ... centrări
& Nbsp; ...
& Nbsp; ... ieșire def (auto, cerere):
& Nbsp; ... print "de utilizare a deconectat"
& Nbsp; >>> provideAdapter (SimpleLogout)
și ceva să reprezinte o utilitate autentificare:
& Nbsp; >>>implementer (IAuthentication)
& Nbsp; ... Autentificare clasă (obiect):
& Nbsp; ... centrări
& Nbsp; >>> AUTH = autentificare ()
Pentru a efectua o deconectare, ne adaptăm autorizare a ILogout și de apel "logout":
& Nbsp; >>> ieșire = ILogout (auth)
& Nbsp; >>> logout.logout (TestRequest ())
& Nbsp; de utilizare a deconectat
Adaptor "NoLogout"
Clasa:
& Nbsp; >>> din zope.authentication.logout NoLogout import
poate fi înregistrat ca un furnizor de rezervă de ILogout pentru componentele IAuthentication care nu sunt altfel adaptabile la ILogout. Metoda ieșire NoLogout este un nu-op:
& Nbsp; >>> NoLogout (auth) .logout (TestRequest ())
User Interface Logout
Deoarece unele protocoale de autentificare nu acceptă în mod oficial de deconectare, aceasta nu poate fi posibil ca un utilizator de ieșire dată el sau ea a autentificat. În astfel de cazuri, ar fi nepotrivit să prezinte o interfață de utilizator pentru logare afară.
Pentru ca suport ieșire este site-ul configurabil, Zope prevede un adaptor care, atunci când a înregistrat, indică faptul că site-ul este configurat pentru deconectare:
& Nbsp; >>> din zope.authentication.logout import LogoutSupported
Această clasă servește doar ca un steag ca acesta pune în aplicare ILogoutSupported:
& Nbsp; >>> din zope.authentication.interfaces import ILogoutSupported
& Nbsp; >>> ILogoutSupported.implementedBy (LogoutSupported)
& Nbsp; Adevărat
& Nbsp; >>> cerere = obiect ()
& Nbsp; >>> ILogoutSupported.providedBy (LogoutSupported (cerere))
& Nbsp; Adevărat
Termeni principale
Termeni principale sunt folosite pentru a sprijini interfețe de browser pentru căutarea surse principale. Acestea oferă acces la jetoane si titluri de valori. Principalul părere termeni juca un utilitar de autentificare a obține titluri principale. Să creeze un utilitar de autentificare pentru a demonstra cum functioneaza acest lucru:
& Nbsp; >>> Principal de clasă:
& Nbsp; ... def automat metodei __init __ (self, id, titlul):
& Nbsp; ... self.id, self.title = id, titlu
& Nbsp; >>> din zope.interface implementator import
& Nbsp; >>> din zope.authentication.interfaces import IAuthentication
& Nbsp; >>> din zope.authentication.interfaces import PrincipalLookupError
& Nbsp; >>>implementer (IAuthentication)
& Nbsp; ... clasa AuthUtility:
& Nbsp; ... De date = {'Jim': "Jim Fulton", "Stephan": "Stephan Richter"}
& Nbsp; ...
& Nbsp; ... def getPrincipal (auto, id):
& Nbsp; ... title = self.data.get (id)
& Nbsp; ... dacă titlul nu este Niciunul:
& Nbsp; ... Principal întoarcere (id, titlu)
& Nbsp; ... ridica PrincipalLookupError
Acum, avem nevoie pentru a instala utilitarul de autentificare:
& Nbsp; >>> din provideUtility import zope.component
& Nbsp; >>> provideUtility (AuthUtility (), IAuthentication)
Avem nevoie de o sursă principală, astfel încât să putem crea o vedere de la ea.
& Nbsp; >>> din getUtility import zope.component
& Nbsp; >>> PrincipalSource clasă:
& Nbsp; ... def __contains __ (self, id):
& Nbsp; ... AUTH = getUtility (IAuthentication)
& Nbsp; ... încercați:
& Nbsp; ... auth.getPrincipal (id)
& Nbsp; ... cu excepția PrincipalLookupError:
& Nbsp; ... return false
& Nbsp; ... altfel:
& Nbsp; ... return true
Acum putem crea o viziune termeni:
& Nbsp; >>> din PrincipalTerms import zope.authentication.principal
& Nbsp; >>> termeni = PrincipalTerms (PrincipalSource (), Niciuna)
Acum ne putem întreba termenii vedea de termeni:
& Nbsp; >>> termen = terms.getTerm ('Stephan ")
& Nbsp; >>> term.title
& Nbsp; "Stephan Richter"
& Nbsp; >>> term.token
& Nbsp; "c3RlcGhhbg__"
Dacă cerem un termen care nu există, vom obține o eroare căutare:
& Nbsp; >>> terms.getTerm ("Bob")
& Nbsp; Traceback (apel cele mai recente Ultima):
& Nbsp; ...
& Nbsp; LookupError: bob
Dacă avem un jeton, putem obține id-ul principal pentru el.
& Nbsp; >>> terms.getValue ("c3RlcGhhbg__")
& Nbsp; "Stephan"

Ce este nou în această versiune:

  • rupt dependență de testare nepotrivit pe zope.component.nextutility.
  • (Forward-compatibilitate cu zope.component 4.0.0).
  • Înlocuit utilizare zope.component.adapts depreciat cu decorator zope.component.adapter echivalent.
  • Înlocuit utilizare zope.interface.implements depreciat cu decorator zope.interface.implementer echivalent.
  • renunțat la suportul pentru Python 2.4 și 2.5.

Cerințe :

  • Python

Alte software-uri de dezvoltator Zope Corporation and Contributors

Comentarii la zope.authentication

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!