Седейки на върха пакет zope.pluggableauth, на dolmen.authentication ап простира тя да добавите описания и реализации за многократна употреба компоненти.
<Силен> Преглед
dolmen.authentication осигурява интерфейси и компоненти:
>>> Внос dolmen.authentication
>>> От IAuthenticationInterfaces внос dolmen.authentication
>>> От IAuthenticationEvents внос dolmen.authentication
>>> От dolmen.authentication внос IAuthenticationAPI
>>> IAuthenticationAPI.isOrExtends (IAuthenticationInterfaces)
Вярно
>>> IAuthenticationAPI.isOrExtends (IAuthenticationEvents)
Вярно
>>> От zope.interface.verify внос verifyObject
>>> VerifyObject (IAuthenticationAPI, dolmen.authentication)
Вярно
<Силни> Описателни интерфейси
dolmen.authentication предвижда набор от базови интерфейси, които могат да бъдат използвани, за да се нормализира системата за идентификация:
>>> Печат IAuthenticationInterfaces .__ doc__
Този интерфейс описва и излага смислени интерфейси
на модула за автентикация.
>>> interfaceDescription (IAuthenticationInterfaces)
IPrincipalFolder: Контейнер специализирана в съхраняване на основните представителства.
IAccountStatus: Abstraction компонент позволява да проверите състоянието на главницата.
IPrincipal: А главен представителство, директно Наследяването zope.security IPrincipal, но предефиниране няколко полета за формуляр дисплей лесен за употреба.
IGroup: логическо групиране на главници. Този компонент е самата IPrincipal.
IPasswordProtected: Този интерфейс дефинира всеки компонент, защитен с парола
IPasswordChecker: Abstraction компонент, който отговаря за разрешаването на principal'scredentials.
>>> IAuthenticationInterfaces.providedBy (dolmen.authentication.interfaces)
Вярно
>>> VerifyObject (IAuthenticationInterfaces, dolmen.authentication.interfaces)
Вярно
<Силни> Събития интерфейси и приложения
dolmen.authentication предвижда набор от основни събития, които могат да се използват и са намалели, за да се справят и проследи жизнен цикъл директори ":
>>> Печат IAuthenticationEvents .__ doc__
Този интерфейс описва и излага на значими събития
описания и компоненти на модула за автентикация.
>>> interfaceDescription (IAuthenticationEvents)
IUserLoggedOutEvent: IObjectEvent удължаване събитие: потребителят е отписани.
IUserLoggedInEvent: IObjectEvent удължаване събитие: потребителят е идентифицирали.
UserLogoutEvent: изпълнение An IUserLoggedOutEvent.
UserLoginEvent: изпълнение An IUserLoggedInEvent.
>>> IAuthenticationEvents.providedBy (dolmen.authentication.events)
Вярно
>>> VerifyObject (IAuthenticationEvents, dolmen.authentication.events)
Вярно
<Силни> Основни свързани компоненти
Накрая, dolmen.authentication осигурява компоненти, които могат да се използват за взаимодействие с zope.pluggableauth.
Неоткрит PrincipalInfo
Ако си главницата е продължило в контейнер, е неоткрит. Основната представителство (IPrincipalInfo), обработени от zope.pluggableauth, може да се възползва от информацията на главния местоположението.
Това е, което LocatablePrincipalInfo компонент предвижда:
>>> От zope.location внос ILocation
>>> От dolmen.authentication внос LocatablePrincipalInfo
>>> "LocatablePrincipalInfo" в IAuthenticationAPI
Вярно
>>> ILocation.implementedBy (LocatablePrincipalInfo)
Вярно
Тя може да се използва за свързване на потребителя към собствената си представителство в сайта или която и да е обект, като homefolder или предпочитания лист.
Този компонент е регистриран адаптер, за компонентите IPrincipal. Да се създаде настоя главницата, за да се провери поведението:
>>> От сечива внос zope.interface
>>> Клас User (обект):
... сечива (dolmen.authentication.IPrincipal)
...
... Def __init __ (самостоятелно, ID, заглавието):
... Self.id = ID
... Self.title = заглавието
... Self.description = U "A потребителското тест"
... self.groups = []
>>> Myuser = User ("Манфред", ф "Хубава мамут")
>>> VerifyObject (dolmen.authentication.IPrincipal, myuser)
Вярно
В момента, myuser не осигурява ILocation. Адаптиране, че ще работи, но информацията за местоположението ще бъде unexistant:
>>> От zope.pluggableauth.interfaces внасят IPrincipalInfo
>>> Адаптер = IPrincipalInfo (myuser)
>>> Адаптер
>>> IPrincipalInfo.providedBy (адаптер)
Вярно
>>> Печат адаптер .__ name__
Никой
>>> Печат адаптер .__ parent__
Никой
Сега, ако направим главницата валиден ILocation, ние можем да се използват резултатите:
>>> От alsoProvides внос zope.interface
>>> Клас MyParent (обект):
... Мине
>>> Myuser .__ name__ = U "Manfred мамута"
>>> Myuser .__ parent__ = MyParent ()
>>> AlsoProvides (myuser, ILocation)
>>> Адаптер = IPrincipalInfo (myuser)
>>> Печат адаптер .__ name__
Манфред мамута
>>> Печат адаптер .__ parent__
Сега, основната информация може да бъде решен в един URL и да се използва като практическо представяне на ТЕ главница
Какво ново в тази версия:.
< ул>
<силни> Изисквания :
- Python
Коментари не е намерена