我目前在OSGi应用程序中使用jetty。在这个应用程序中,我使用自己的WEB_INF创建了2个webapps(单独捆绑),以便轻松实现AppA和AppB。在这种情况下,AppA还包括必要的jetty.xml文件,以便在OSGi环境中启动jetty服务器。
现在我想添加一些身份验证。我按照文档(http://www.eclipse.org/jetty/documentation/current/configuring-security.html#configuring-security-authentication)添加了所有必要的配置。
的jetty.xml;
<Call name="addBean">
<Arg>
<New class="org.eclipse.jetty.security.HashLoginService">
<Set name="name">Realm</Set>
<Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/auth.properties</Set>
<Set name="refreshInterval">5</Set>
</New>
</Arg>
Scince这是唯一的领域,所有身份验证服务都使用它。当我部署它时,我确实有一个登录选项,当我浏览到具有安全约束的url(在两个应用程序中)。完成;我使用表单登录方法,因此提供了一个很好的表单。
但是,当我登录AppA时,我没有登录AppB。因此,当我转到localhost / appA / secured并登录时,当我转到localhost / AppB / secured时,我仍然必须登录(使用相同的凭据)。
现在我想知道是否有可能以这样的方式链接这两个应用程序:当我在appA登录时,我自动登录appB?我注意到在早期版本中有一个HashSSORealm,但在jetty 9中它似乎并不存在。