如何围绕第三方servlet包装Ploneauthentication?

我们正在使用Plone来提供一些第三方中间件。

不幸的是,中间件有一个特殊的servlet从Java applet中调用,并且不做任何types的authentication。 我想防火墙,并以某种方式包装身份validation,最好使用用户将在Plone上的现有会话。

我的第一个想法是configurationnginx(我们用作反向代理)来检查cookie,并且只有当用户有一个有效的会话时(代码行),才能进行代理。 但是,如何检查对Plone的会话ID,因为它全部存储在Zope数据库中?

或者,我们可以有一个Plone Python脚本,基本上通过身份validation后的一切,但我不知道如何做到这一点。

有什么build议么? 还是另类的想法?

Plone使用auth_tkt会话cookie; 任何支持这种会话cookie的系统都可以使用与Plone相同的秘密进行验证。

不幸的是,我一直无法找到一个auth_tkt的nginx实现; 该标准源于Apache mod_auth_tkt模块 ,所以如果Apache是​​一个选项,你可以使用它。 有关如何配置此类设置的详细信息,请参见使用mod_auth_tkt的Plone&CGI单点登录 。

你可以编写自己的Plone自定义插件,它提供了一个浏览器视图,在Plone进程中为你做会话检查。 如何从Nginx涉及这对我来说是一个谜。

http://collective-docs.readthedocs.org/en/latest/views/browserviews.html

检查身份验证凭据是否有效

http://collective-docs.readthedocs.org/en/latest/sessions/login.html?highlight=login#extracting-credentials

更多关于Plone认证和cookies的信息

http://collective-docs.readthedocs.org/en/latest/sessions/cookies.html?highlight=cookies#default-plone-cookies