如何将Plone身份验证包装在第三方servlet上?

2024-04-24 19:31:02 发布

您现在位置:Python中文网/ 问答频道 /正文

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

不幸的是,中间软件有一个特定的servlet,它从javaapplet调用,不做任何类型的身份验证。我想把这个防火墙关闭,并以某种方式将身份验证包装起来,最好使用用户在Plone上拥有的现有会话。在

我的第一个想法是配置nginx(我们使用它作为反向代理)来检查cookie,并且只有当用户有一个有效的会话时才使用代理(按照this example的行)。但是,既然会话ID都存储在Zope数据库中,那么如何对照Plone检查会话ID呢?在

或者,我们可以有一个Plone python脚本,基本上在认证后将所有内容传递到后端,但我不确定如何做到这一点。在

有什么建议吗?或者其他想法?在


Tags: 中间件用户身份验证id类型代理软件cookie
2条回答

Plone使用auth_tkt会话cookie;任何支持会话cookie的系统都可以验证cookie。在

不幸的是,我还没有找到auth_tkt的nginx实现;该标准源于Apache ^{} module,因此如果Apache是一个选项,您可以使用它。有关如何配置这种设置的详细信息,请参见Plone & CGI single-sign-on using mod_auth_tkt。在

您可以编写自己的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

相关问题 更多 >