2013-05-03 104 views
0

是否有可能通过tomcats默认身份验证方法制作使用JAAS身份验证的Web应用程序。JAAS:使应用程序使用Tomcat身份验证设置

举例说明: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"; 

}; 
+0

您是否看到下面的答案?它有帮助吗? – Michael 2013-05-17 06:53:15

回答

0

Tomcat的用户库是由Tomcat的境界定义。 由MemoryRealm使用tomcat_users.xml文件。 要使用JAAS配置(jaas.cfg)配置JAASRealmhttp://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html#JAASRealm

它可以使用Java EE认证,并实现自己的境界。 你有3种选择:

  1. 实现Tomcat Realm接口 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中

配置自己的境界210
<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.String%29

在你可以打电话给你的JAAS身份验证方法。

+0

以这种方式,我让Tomcat使用JAAS。我不想要的。我想要一个在Tomcat中部署的应用程序(使用JAAS)使用在Tomcat中配置的领域。 – 2013-05-04 07:08:58

+0

我很困惑。 你想使用JEE认证吗? 在他的情况下,请求帽子来到您的应用程序已经过身份验证。 如果你不想实际打电话给JAAS认证?这不是一个大问题。在这种情况下,你将如何获得用户名和密码? – Michael 2013-05-04 10:58:38

+0

答案已更新 – Michael 2013-05-04 16:32:33

相关问题