由KERBEROS担保的Java应用程序

时间:2014-05-31 10:43:07

标签: java kerberos

我想通过KERBEROS保护我的Java Web应用程序。如果我当前的用户存储在MySQL数据库中,是否有人知道需要做什么以及我需要更改我的应用程序?有必要使用VPN吗?如果我说得不对,每个客户端都在同一个域中通过KDS进行身份验证,但我的应用程序位于远程服务器上(不在同一个域中?)。

1 个答案:

答案 0 :(得分:2)

您必须向我们提供有关您的应用和环境的更多详细信息。 kerberos做了什么,它为用户提供了证明他确实是他所声称的人的方式。您可以选择验证他是否来自他声称来自的IP地址,但由于NAT /代理/负载均衡器,以后很少用户。

您的应用在哪个容器中运行?大多数现代servlet容器(JBoss / Websphere)提供开箱即用的kerberos身份验证。您只需要调整web.xml,或者在websphere的情况下只需正确配置应用程序。

您是否拥有kerberos基础设施?如果您在具有Active Directory域控制器的企业窗口环境中,您已经这样做了。在这种情况下,您需要将工作站配置为在域上。最简单的情况是,如果您的工作站是域的成员,并且活动目录控制器也是您的DNS服务器,并且您的应用程序在本地域中运行,并且您的浏览器是IE或Chrome。否则你需要做一些额外的配置。

VPN不是必需的,但如果你有一个,它会简化一些事情。

至于你的域名问题,有很多混淆,尤其是Windows管理员实际上是什么域名。域可以是像stackoverflow.com这样的DNS域,域可以是活动目录域,这是完全不同的东西。在经典的Unix kerberos中,kerberos域称为REALM,并且有一个配置文件将DNS域映射到Kerberos域。

您的应用可能位于您想要的任何DNS域中,也可能位于任何Active Directory域中,但在这种情况下,必须在不同域之间建立信任关系。

最重要的是,您必须配置两件事。 DNS服务器必须具有SRV记录,以便浏览器可以找到KDC服务器。您必须在KDC中注册您的应用程序。

有关详细信息,请查看here