什么是tomcat / kerberos领域以及它的配置位置

时间:2016-01-14 06:50:33

标签: apache tomcat ldap kerberos jaas

我在Windows 7上配置spengo / tomcat / sso / 我不明白什么是领域以及它的配置!
阅读以下指南:

  1. https://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html
  2. https://dzone.com/articles/do-not-publish-configuring-tomcat-single-sign-on-w
  3. 我理解一个领域是一个用户/密码的DB,这个DB数据可以从几个地方,DB,Active目录,users.xml文件等中获取。

    配置krb5.ini和jaas.config时我需要提供一个领域名称,我在哪里找到这个领域名称,在我们的Active Directory机器上 - 没有系统管理员创建过一个Realm对象,那么我怎么知道什么是要在配置中输入的域名?
    Spengo w / SSO需要JAASRealm,那么为什么我需要设置
    Realm className =" org.apache.catalina.realm.JNDIRealm在server.xml中?
    JAASRealm是否是使用JNDI以使用AD的包装器?

    由于

1 个答案:

答案 0 :(得分:2)

  

我理解一个领域是用户/密码的数据库,这个DB数据可以从多个地方获取,DB,Active目录,users.xml文件等。

这是一项服务,而不仅仅是一个数据库。它可以通过XML文件,JNDI接口,JDBC接口,JAAS和其他几个来实现。

  

配置krb5.ini和jaas.config时,我需要提供领域名称。我在哪里可以找到这个领域名称

您可以在context.xml文件的Error: ng:areq Bad Argument 条目中配置它,或者,如果您希望它在webapps中是全局的,则在server.xml中进行配置。然后在你提到的文件中引用该名称。

  

在我们的Active Directory计算机上 - 没有系统管理员曾创建过Realm对象,

当然不是。它们不存在于AD服务器中。你在找错了地方。

  

那我怎么知道在配置中输入的领域名称是什么?

在这种情况下,您将使用JNDI或JAAS领域。

  

Spengo w / SSO需要JAASRealm

所以有你的答案。

  

为什么我需要设置
  Realm className =“org.apache.catalina.realm.JNDIRealm在server.xml中?

你没有。您需要配置JAAS领域,如上所述。不清楚为什么你认为这里需要JNDI领域。

  

JAASRealm是否是使用JNDI以使用AD的包装器?

您需要查看其中的一些内容。 JAAS是一种可以使用任何登录模块组合的服务,包括一些您可以自己编写的模块。他们所做的事情取决于他们,如果你写的话也取决于你。这里的答案太广了。