sitting sa tuktok ng zope.pluggableauth ng pakete, ang dolmen.authentication app umaabot ito upang magdagdag ng mga magagamit muli paglalarawan at pagpapatupad bahagi.
Pangkalahatang-ideya
dolmen.authentication nagbibigay ng mga interface at mga bahagi:
>>> Import dolmen.authentication
>>> Mula dolmen.authentication import IAuthenticationInterfaces
>>> Mula dolmen.authentication import IAuthenticationEvents
>>> Mula dolmen.authentication import IAuthenticationAPI
>>> IAuthenticationAPI.isOrExtends (IAuthenticationInterfaces)
Totoo
>>> IAuthenticationAPI.isOrExtends (IAuthenticationEvents)
Totoo
>>> Mula zope.interface.verify import verifyObject
>>> VerifyObject (IAuthenticationAPI, dolmen.authentication)
Totoo
Mapaglarawang mga interface
dolmen.authentication ay nagbibigay ng isang hanay ng mga base ng mga interface na maaaring magamit upang normalize isang sistema ng pagpapatotoo:
>>>-Print IAuthenticationInterfaces .__ doc__
Interface na ito ay naglalarawan at inilalantad ang makahulugang mga interface
ng module na pagpapatotoo.
>>> InterfaceDescription (IAuthenticationInterfaces)
IPrincipalFolder: Ang isang lalagyan na dalubhasa sa pag-iimbak ng punong-guro pagkatawan.
IAccountStatus: bahagi Abstraction na nagbibigay-daan upang tingnan ang katayuan ng isang punong-guro.
IPrincipal: Ang isang punong-guro na representasyon, direktang inheriting mula zope.security IPrincipal, ngunit muling pagtutukoy ng ilang mga patlang para sa isang display na form user-friendly.
IGroup: Ang isang lohikal na pagpapangkat ng punong. Bahagi na ito ay isang mismong IPrincipal.
IPasswordProtected: interface na ito ay tumutukoy sa anumang bahagi pinoprotektahan ng password
IPasswordChecker: Abstraction bahagi sa singil ng paglutas ng isang principal'scredentials.
>>> IAuthenticationInterfaces.providedBy (dolmen.authentication.interfaces)
Totoo
>>> VerifyObject (IAuthenticationInterfaces, dolmen.authentication.interfaces)
Totoo
Mga Kaganapan interface at pagpapatupad
dolmen.authentication ay nagbibigay ng isang hanay ng mga pangunahing kaganapan na maaaring magamit at tinanggihan, upang pangasiwaan at trace lifecycles punong ':
>>>-Print IAuthenticationEvents .__ doc__
Interface na ito ay naglalarawan at inilalantad ang makabuluhang mga kaganapan
mga paglalarawan at mga bahagi ng module na pagpapatotoo.
>>> InterfaceDescription (IAuthenticationEvents)
IUserLoggedOutEvent: IObjectEvent pagpapalawak ng kaganapan: ang isang gumagamit ay log-out.
IUserLoggedInEvent: IObjectEvent pagpapalawak ng kaganapan: ang isang gumagamit ay naka-log in.
UserLogoutEvent: Ang isang IUserLoggedOutEvent pagpapatupad.
UserLoginEvent: Ang isang IUserLoggedInEvent pagpapatupad.
>>> IAuthenticationEvents.providedBy (dolmen.authentication.events)
Totoo
>>> VerifyObject (IAuthenticationEvents, dolmen.authentication.events)
Totoo
bahagi Principal na may kaugnayan
Sa wakas, dolmen.authentication nagbibigay ng mga bahagi na maaaring magamit upang makipag-ugnay sa zope.pluggableauth.
Locatable PrincipalInfo
Kung ang iyong punong-guro ay mananatili sa isang lalagyan, ito ay locatable. Ang punong-guro na representasyon (IPrincipalInfo), hinahawakan ng zope.pluggableauth, maaaring makinabang mula sa impormasyon sa punong-guro lokasyon.
Ito ay kung ano ang nagbibigay ng bahagi LocatablePrincipalInfo:
>>> Mula zope.location import ILocation
>>> Mula dolmen.authentication import LocatablePrincipalInfo
>>> 'LocatablePrincipalInfo' sa IAuthenticationAPI
Totoo
>>> ILocation.implementedBy (LocatablePrincipalInfo)
Totoo
Maaari itong magamit upang i-link ang isang user sa sarili nitong pagkatawan sa site o sa anumang bagay, tulad ng isang homefolder o isang kagustuhan sheet.
Bahagi na ito ay naka-rehistro ng adaptor, para sa mga bahagi IPrincipal. Hayaan lumikha ng isang mananatili ang punong-guro, upang suriin ang pag-uugali:
>>> Mula zope.interface import ipinapatupad ng
>>> Klase User (object):
... Ipinapatupad ng (dolmen.authentication.IPrincipal)
...
... Def __init __ (sa sarili, id, titulo):
... Self.id = id
... Self.title = pamagat
... Self.description = u "Isang pagsubok ng gumagamit"
... Self.groups = []
>>> Myuser = User ('Manfred', u "A gandang malaking-malaki")
>>> VerifyObject (dolmen.authentication.IPrincipal, myuser)
Totoo
Sa kasalukuyan, myuser hindi nagbibigay ang ILocation. -Angkop ito gagana, ngunit ang impormasyon ng lokasyon ay magiging unexistant:
>>> Mula zope.pluggableauth.interfaces-import IPrincipalInfo
>>> Adapter = IPrincipalInfo (myuser)
>>> Adapter
>>> IPrincipalInfo.providedBy (adapter)
Totoo
>>>-Print adapter .__ name__
Wala
>>>-Print adapter .__ parent__
Wala
Ngayon, kapag gumawa kami ng punong-guro ng wastong ILocation, maaari naming gamitin ang mga resulta:
>>> Mula zope.interface import alsoProvides
>>> Klase MyParent (object):
... Pumasa
>>> Myuser .__ name__ = u "Manfred ang mamot"
>>> Myuser .__ parent__ = MyParent ()
>>> AlsoProvides (myuser, ILocation)
>>> Adapter = IPrincipalInfo (myuser)
>>>-Print adapter .__ name__
Manfred ang malaking-malaki
>>>-Print adapter .__ parent__
Ngayon, ang punong-guro ng impormasyon ay maaaring malutas sa isang URL at ginamit bilang isang praktikal na kinatawan ng punong-guro te
Ano ang bagong sa paglabas:.
< ul>
Mga Kinakailangan :
- Python
Mga Komento hindi natagpuan