J'essaie d'appliquer une interface de marqueur aux demandes en fonction de l'utilisateur actuel. L'idée est d'offrir différents skins en fonction des préférences de l'utilisateur.Différents habillages pour différents utilisateurs
J'ai donc essayé d'utiliser Middleware-like hooks. En configure.zcml:
<subscriber
for="Products.CMFCore.interfaces.ISiteRoot
zope.traversing.interfaces.IBeforeTraverseEvent"
handler=".layer.mark_layer"
/>
Et layer.py
def mark_layer(portal, event):
'''Conditional marking of the request according to the user
preferences.'''
request = event.request
portal_state = getMultiAdapter((portal, request), name="plone_portal_state")
anon = portal_state.anonymous()
print anon, portal.portal_membership.isAnonymousUser()
# more code here...
Le problème est que plone signale toujours que l'utilisateur est anonyme.
Alors, dans ces circonstances, comment pourrais-je appliquer l'interface du marqueur?
Merci d'avance.