【发布时间】:2015-11-01 11:26:30
【问题描述】:
根据 Apache Tomcat 1.7 文档:
编写您自己的基于 JAAS 的 LoginModule、User 和 Role 类(请参阅 JAAS 身份验证教程和 JAAS 登录模块开发人员指南),由 JAAS 登录上下文 (javax.security.auth.login.LoginContext) 管理你的LoginModule,注意JAASRealm内置的CallbackHandler目前只识别NameCallback和PasswordCallback。
它只支持 NameCallback 和 PasswordCallback。我想将其他参数传递给 JAAS 登录模块,但由于此限制而无法传递。
如何将其他参数传递给 JAAS 登录模块?
【问题讨论】:
-
您在 jaas.config 文件中定义它们以及登录模块并在初始化期间检索它们。
-
@EJP 我正在使用我在 context.xml 中定义的默认 tomcat org.apache.catalina.realm.JAASRealm。这个 JAASRealm 默认调用它自己的回调处理程序。即使我定义了自定义回调处理程序,JAASRealm 也不会调用它。如何强制在我的 context.xml 中定义的这个 JAASRealm 使用这个自定义回调处理程序?
-
Tomcat 1.7,确定吗?或者更确切地说是Tomcat 7,如您使用的标签所示?
-
您似乎在这里感到困惑。 JAAS 领域调用登录模块,并且它们 调用处理程序。您将不得不编写自己的登录模块来调用您的处理程序。
-
@EJP 我想你误解了我的意思。 Tomcat JAASRealm (org.apache.catalina.realm.JAASRealm) 不需要创建 LoginContext。仅供参考,LoginContext 允许使用自定义回调处理程序。由于 Tomcat JAASRealm 不需要,这意味着它使用自己的回调处理程序。这就是我现在遇到的问题
标签: tomcat jakarta-ee tomcat7 jaas