码头网络应用程序的多种身份验证选项

问题描述

我已经成功设置了码头(版本:9.4.32.v20200930),以使用FORM身份验证为我的Web应用程序提供服务。这是一个已部署的上下文XML设置,其中包含一个Web应用程序文件夹,一个WEB-INF文件夹,一个web.xml文件等。

我还通过激活和配置jetty的“ openid”模块将其成功设置为使用OpenID身份验证。

现在,我可以通过简单地更改上下文XML和web.xml文件并重新部署Web应用程序来切换身份验证方法

我想实现的是能够根据用户的喜好同时使用两种身份验证方法。某些用户可能具有OpenID帐户并以此方式登录;其他用户可能只有“本地”帐户,因此他们应该能够使用FORM身份验证方法。每种类型的用户(OpenID /本地用户)都可以具有不同的登录URL。这是完全合理的。

很明显,更改上下文XML和web.xml文件需要重新部署应用程序,因此这不是一个可用的选项。

复制应用程序并将其部署两次是可以的,但是,除了并发方面的考虑,这根本感觉不对。

对于单个Web应用程序,是否可以同时使用两种身份验证方法

解决方法

当前不可能同时启用多个Jetty身份验证机制。

如果Jetty可以支持此用例,那将很有用,因此我将进行调查以查看是否可以实现。我已经打开issue on the jetty project github来跟踪进度。