多个Tomcat Authenticator阀门

时间:2014-09-16 15:00:48

标签: java tomcat authentication tomcat-valve

是否可以在同一个Tomcat上下文配置中拥有多个身份验证器阀门?我知道你可以通过CombinedRealm拥有多个领域,但是不同的身份验证方法呢?

我必须更新Web应用程序,以便它可以使用新的身份验证源,同时仍然使用旧的身份验证源来重新使用。

这是我目前在应用程序的context.xml中的内容:

<Context path="/myApp">
   <Valve className="com.company.NewAuthenticator"/>
   <Valve className="com.company.LegacyAuthenticator"/>

   <!-- Dummy realm to prevent pop-up window -->
   <Realm className="com.company.DummyRealm"/>
</Context>

NewAuthenticator似乎拒绝用户的请求,LegacyAuthenticator永远不会被调用。我想这是预期的行为,但有另一种方法可以使这项工作吗?

详细说明:

  • Tomcat 6.0
  • 使用Authtenticators,因为两个自定义系统都在HTTP请求中设置了确定身份验证成功/失败的值,我需要创建自定义Tomcat安全主体来存储角色。
  • 两种身份验证源都是自定义和非标准的。我必须自己编写验证器。

1 个答案:

答案 0 :(得分:1)

不,没有CombinedAthenticator。你必须推出自己的实现。