Das Sitzen auf der Oberseite der zope.pluggableauth Paket, das dolmen.authentication App erweitert sie um wiederverwendbare Komponentenbeschreibungen und Implementierungen hinzuzufügen.
Überblick
dolmen.authentication bietet Schnittstellen und Komponenten:
>>> Import dolmen.authentication
>>> Von dolmen.authentication Import IAuthenticationInterfaces
>>> Von dolmen.authentication Import IAuthenticationEvents
>>> Von dolmen.authentication Import IAuthenticationAPI
>>> IAuthenticationAPI.isOrExtends (IAuthenticationInterfaces)
Wahr
>>> IAuthenticationAPI.isOrExtends (IAuthenticationEvents)
Wahr
>>> Von zope.interface.verify Import verifyObject
>>> VerifyObject (IAuthenticationAPI, dolmen.authentication)
Wahr
Beschreibende Schnittstellen
dolmen.authentication stellt einen Satz von Basis-Schnittstellen, die verwendet werden können, um ein Authentifizierungssystem zu normalisieren:
>>> Print IAuthenticationInterfaces .__ doc__
Diese Schnittstelle beschreibt und macht die sinnvolle Schnittstellen
der Authentifizierungsmodul.
>>> Schnittstellenbeschreibung (IAuthenticationInterfaces)
IPrincipalFolder: Ein Container, spezialisiert auf die Speicherung Haupt Darstellungen.
IAccountStatus: Abstraktion Komponente ermöglicht, den Status eines Haupt überprüfen.
IPrincipal: Eine prinzipielle Darstellung, direkt Erben von zope.security IPrincipal, aber neu definiert mehrere Felder für eine benutzerfreundliche Form Display.
IGroup: Eine logische Gruppierung von Auftraggebern. Diese Komponente ist ein IPrincipal selbst.
IPasswordProtected: Diese Schnittstelle definiert eine Komponente mit einem Passwort geschützt
IPasswordChecker: Abstraktion Komponente zuständig für die Lösung ein principal'scredentials.
>>> IAuthenticationInterfaces.providedBy (dolmen.authentication.interfaces)
Wahr
>>> VerifyObject (IAuthenticationInterfaces, dolmen.authentication.interfaces)
Wahr
Events Schnittstellen und Implementierungen
dolmen.authentication bietet eine Reihe von grundlegenden Ereignisse, die verwendet oder abgelehnt werden kann, um die Prinzipien "Lebenszyklen handhaben und zu verfolgen:
>>> Print IAuthenticationEvents .__ doc__
Diese Schnittstelle beschreibt und macht die sinnvolle Ereignisse
Beschreibungen und Komponenten der Authentifizierungsmodul.
>>> Schnittstellenbeschreibung (IAuthenticationEvents)
IUserLoggedOutEvent: IObjectEvent Erweiterung Event: ein Benutzer abgemeldet hat.
IUserLoggedInEvent: IObjectEvent Erweiterung Event: ein Benutzer angemeldet hat.
UserLogoutEvent: Ein IUserLoggedOutEvent Umsetzung.
UserLoginEvent: Ein IUserLoggedInEvent Umsetzung.
>>> IAuthenticationEvents.providedBy (dolmen.authentication.events)
Wahr
>>> VerifyObject (IAuthenticationEvents, dolmen.authentication.events)
Wahr
Hauptbezogenen Komponenten
Schließlich sieht dolmen.authentication Komponenten, die verwendet werden können, um mit zope.pluggableauth interagieren.
Lokalisierbar PrincipalInfo
Wenn Ihr Haupt wird in einen Behälter blieb, ist es lokalisierbar. Die Hauptdarstellung (IPrincipalInfo), durch zope.pluggableauth behandelt, könnten von Informationen des Auftraggebers Ort profitieren.
Dies ist, was die LocatablePrincipalInfo Komponente bietet:
>>> Von zope.location Import ILocation
>>> Von dolmen.authentication Import LocatablePrincipalInfo
>>> 'LocatablePrincipalInfo' in IAuthenticationAPI
Wahr
>>> ILocation.implementedBy (LocatablePrincipalInfo)
Wahr
Es kann benutzt werden, um einen Benutzer eine eigene Vertretung in der Website oder auf ein beliebiges Objekt wie ein Hauptordner oder einem Präferenzen Blatt verknüpfen werden.
Diese Komponente registriert ist, einen Adapter für die IPrincipal Komponenten. Lassen Sie uns eine persistente Haupt, um das Verhalten zu überprüfen:
>>> Von zope.interface Importgeräte
>>> Class User (Objekt):
... Geräte (dolmen.authentication.IPrincipal)
...
... Def init __ (self, id, title):
... Self.id = id
... Self.title = Titel
... Self.description = u "Ein Testbenutzer"
... Self.groups = []
>>> Myuser = Benutzer ('Manfred', u "Ein schönes Mammut")
>>> VerifyObject (dolmen.authentication.IPrincipal, myuser)
Wahr
Derzeit ist nicht myuser Bereitstellung ILocation. Die Anpassung wird es funktionieren, aber die Standortangaben wird der unexistant sein:
>>> Von zope.pluggableauth.interfaces importieren IPrincipalInfo
>>> Adapter = IPrincipalInfo (myuser)
>>> Adapter
>>> IPrincipalInfo.providedBy (Adapter)
Wahr
>>> Print Adapter .__ name__
Keiner
>>> Print Adapter .__ parent__
Keiner
Nun, wenn wir dem Auftraggeber eine gültige ILocation, können wir die Ergebnisse zu nutzen:
>>> Von zope.interface Import alsoProvides
>>> Klasse MyParent (Objekt):
... Übergeben
>>> Myuser .__ name__ = u "das Mammut Manfred"
>>> Myuser .__ parent__ = MyParent ()
>>> AlsoProvides (myuser, ILocation)
>>> Adapter = IPrincipalInfo (myuser)
>>> Print Adapter .__ name__
Manfred das Mammut
>>> Print Adapter .__ parent__
Nun kann der Haupt Informationen in eine URL gelöst und als eine praktische Darstellung te Haupt verwendet werden
Was ist neu in dieser Pressemitteilung:.
< ul>
Anforderungen :
- Python
Kommentare nicht gefunden