0

是否可以通过 tomcats 默认身份验证方法使使用 JAAS 的 Web 应用程序进行身份验证。

举例说明:Tomcat 使用 tomcat_users.xml 进行身份验证。Web 应用程序在 jaas.cfg 中定义了自己的方法。我们如何配置 jaas.cfg 以使其使用 Tomcat 的方法,以便当 Tomcat 中的配置更改应用程序的身份验证方法时也会切换。

当前配置如下所示:

BonitaAuth {

  org.ow2.bonita.identity.auth.BonitaIdentityLoginModule required;

};



BonitaStore {

  org.ow2.bonita.identity.auth.LocalStorageLoginModule required;

};



BonitaAuth-default {

  org.ow2.bonita.identity.auth.BonitaIdentityLoginModule required domain="default";

  org.ow2.bonita.identity.auth.LocalStorageLoginModule required domain="default";

};



BonitaStore-default {

  org.ow2.bonita.identity.auth.LocalStorageLoginModule required domain="default";

};



/**

 * Used by the REST server

 */

BonitaRESTServer {

  org.ow2.bonita.identity.auth.BonitaRESTServerLoginModule required logins="restuser" passwords="restbpm" roles="restuser";

};
4

1 回答 1

0

Tomcat 用户存储库由 Tomcat 领域定义。tomcat_users.xml 文件由MemoryRealm. 要使用您的 JAAS 配置 (jaas.cfg),请配置:http JAASRealm: //tomcat.apache.org/tomcat-7.0-doc/realm-howto.html#JAASRealm

可以使用 Java EE 身份验证并实现您自己的领域。您有 3 个选项:

  1. 实现TomcatRealm接口 http://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/Realm.html
  2. 扩展RealmBase http://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/realm/RealmBase.html )
  3. 扩展JAASRealm http://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/realm/JAASRealm.html

在 server.xml 中配置您自己的领域

<Realm className="org.myrealm"/>

Tomcat 将调用您的身份验证方法http://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/realm/RealmBase.html#authenticate%28java.lang.String,%20java.lang。字符串%29

在该方法中,您可以调用您的 JAAS 身份验证。

于 2013-05-03T13:11:59.523 回答