zope.authentication

Software screenshot:
zope.authentication
Software informatie:
Versie: 4.0.0
Upload datum: 20 Feb 15
Licentie: Gratis
Populariteit: 5

Rating: nan/5 (Total Votes: 0)

zope.authentication geeft een definitie van authenticatie concepten voor gebruik in Zope Framework.
Gedetailleerde Documentatie
Afmelden Ondersteuning
Afmelden ondersteuning wordt bepaald door een eenvoudige interface ILogout:
& Nbsp; >>> van zope.authentication.interfaces importeren ILogout
dat heeft een enkele 'logout' methode.
Het huidige gebruik van ILogout is om een ​​IAuthentication component aan ILogout passen Om dit te illustreren, zullen we een eenvoudige logout implementatie die IAuthentication aanpast maken:
& Nbsp; >>>adapter (IAuthentication)
& Nbsp; ...implementer (ILogout)
& Nbsp; ... klasse SimpleLogout (object):
& Nbsp; ...
& Nbsp; ... def __init __ (zelf, auth):
& Nbsp; ... pas
& Nbsp; ...
& Nbsp; ... def logout (zelf, aanvraag):
& Nbsp; ... print 'gebruiker is uitgelogd'
& Nbsp; >>> provideAdapter (SimpleLogout)
en iets om te vertegenwoordigen een authenticatie-hulpprogramma:
& Nbsp; >>>implementer (IAuthentication)
& Nbsp; ... klasse Authentication (object):
& Nbsp; ... pas
& Nbsp; >>> auth = Authentication ()
Om een ​​logout te voeren, we passen auth te ILogout en roepen 'logout':
& Nbsp; >>> logout = ILogout (auth)
& Nbsp; >>> logout.logout (TestRequest ())
& Nbsp; gebruiker is uitgelogd
De 'NoLogout' Adapter
De klas:
& Nbsp; >>> van zope.authentication.logout import NoLogout
kunnen worden geregistreerd als een fallback leverancier van ILogout voor IAuthentication componenten die niet op andere wijze aan te passen aan ILogout. NoLogout's logout methode is een no-op:
& Nbsp; >>> NoLogout (auth) .logout (TestRequest ())
Afmelden User Interface
Omdat sommige authenticatie protocollen niet formeel ondersteunen logout, mag het niet mogelijk zijn om een ​​gebruiker uit te loggen wanneer hij of zij heeft aangemeld. In dergelijke gevallen zou het ongepast zijn om een ​​gebruikersinterface te presenteren voor het afmelden.
Omdat logout ondersteuning is website-configureerbaar, Zope levert een adapter die, wanneer geregistreerd, geeft aan dat de site is geconfigureerd voor het afmelden:
& Nbsp; >>> van zope.authentication.logout import LogoutSupported
Deze klasse alleen maar dient als een vlag als het implementeert ILogoutSupported:
& Nbsp; >>> van zope.authentication.interfaces importeren ILogoutSupported
& Nbsp; >>> ILogoutSupported.implementedBy (LogoutSupported)
& Nbsp; True
& Nbsp; >>> verzoek = object ()
& Nbsp; >>> ILogoutSupported.providedBy (LogoutSupported (aanvraag))
& Nbsp; True
Principal Voorwaarden
Belangrijkste termen worden gebruikt om de browser interfaces ondersteunen voor het zoeken voornaamste bronnen. Ze bieden toegang tot tokens en titels voor waarden. De belangrijkste voorwaarden weergave maakt gebruik van een authenticatie-utility om hoofdsom titels te krijgen. Laten we zorgen voor een authenticatie nut aan te tonen hoe dit werkt:
& Nbsp; >>> klasse Opdrachtgever:
& Nbsp; ... def __init __ (zelf, id, titel):
& Nbsp; ... self.id, self.title = id, titel
& Nbsp; >>> van zope.interface import implementator
& Nbsp; >>> van zope.authentication.interfaces importeren IAuthentication
& Nbsp; >>> van zope.authentication.interfaces importeren PrincipalLookupError
& Nbsp; >>>implementer (IAuthentication)
& Nbsp; ... klasse AuthUtility:
& Nbsp; ... data = {'Jim': 'Jim Fulton', 'stephan': 'Stephan Richter'}
& Nbsp; ...
& Nbsp; ... def getPrincipal (zelf, id):
& Nbsp; ... title = self.data.get (id)
& Nbsp; ... als titel niet Geen:
& Nbsp; ... return Principal (id, titel)
& Nbsp; ... verhogen PrincipalLookupError
Nu moeten we de authenticatie hulpprogramma installeren:
& Nbsp; >>> van zope.component import provideUtility
& Nbsp; >>> provideUtility (AuthUtility (), IAuthentication)
We hebben een belangrijkste bron zodat wij een uitzicht vanaf het kan creëren.
& Nbsp; >>> van zope.component import getUtility
& Nbsp; >>> klasse PrincipalSource:
& Nbsp; ... def __contains __ (zelf, id):
& Nbsp; ... auth = getUtility (IAuthentication)
& Nbsp; ... proberen:
& Nbsp; ... auth.getPrincipal (id)
& Nbsp; ... behalve PrincipalLookupError:
& Nbsp; ... return false
& Nbsp; ... anders:
& Nbsp; ... terug True
Nu kunnen we een qua uitzicht te creëren:
& Nbsp; >>> van zope.authentication.principal import PrincipalTerms
& Nbsp; >>> termen = PrincipalTerms (PrincipalSource (), Geen)
Nu kunnen we vragen de voorwaarden te bekijken voor wat betreft:
& Nbsp; >>> term = terms.getTerm ('stephan')
& Nbsp; >>> term.title
& Nbsp; 'Stephan Richter'
& Nbsp; >>> term.token
& Nbsp; 'c3RlcGhhbg__'
Als we vragen voor een termijn die niet bestaat, krijgen we een lookup fout:
& Nbsp; >>> terms.getTerm ('Bob')
& Nbsp; Traceback (meest recente oproep vorige):
& Nbsp; ...
& Nbsp; LookupError: bob
Als we een token, kunnen we de belangrijkste id voor het te krijgen.
& Nbsp; >>> terms.getValue ('c3RlcGhhbg__')
& Nbsp; 'stephan'

Wat is nieuw in deze release:

  • Broke ongepast testen afhankelijkheid zope.component.nextutility.
  • (Forward-compatibiliteit met zope.component 4.0.0).
  • Vervangen deprecated zope.component.adapts gebruik met gelijkwaardige zope.component.adapter decorateur.
  • Vervangen deprecated zope.interface.implements gebruik met gelijkwaardige zope.interface.implementer decorateur.
  • Dropped ondersteuning voor Python 2.4 en 2.5.

Eisen

  • Python

Andere software van ontwikkelaar Zope Corporation and Contributors

Reacties op zope.authentication

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!