Java 如何在码头上使用JASPI/JASPIC?
提到了码头与JASPI(JASPIC/JSR 196)的兼容性 但是,似乎不包含任何与JASPI相关的类。[jetty home]/lib中有一个Java 如何在码头上使用JASPI/JASPIC?,java,jakarta-ee,jetty,jetty-8,jaspic,Java,Jakarta Ee,Jetty,Jetty 8,Jaspic,提到了码头与JASPI(JASPIC/JSR 196)的兼容性 但是,似乎不包含任何与JASPI相关的类。[jetty home]/lib中有一个jetty-security-8.1.8.v201106.jarjar,但这个不包含任何JASPIC/JASPI类型 Jetty wiki上的仅为占位符,不包含任何信息 通过谷歌搜索,我发现应该有一个。这些javadoc也包含在发行版中。最后,Github上出现了一个 显然有一些可用的支持,但是为什么这些类似乎不在Jetty发行版中,关于如何配置这些类
jetty-security-8.1.8.v201106.jar
jar,但这个不包含任何JASPIC/JASPI类型
Jetty wiki上的仅为占位符,不包含任何信息
通过谷歌搜索,我发现应该有一个。这些javadoc也包含在发行版中。最后,Github上出现了一个
显然有一些可用的支持,但是为什么这些类似乎不在Jetty发行版中,关于如何配置这些类的文档在哪里?我缺少什么?是jetty中JASPI API的一个工作示例,它使用JASPI API反过来调用jetty JASPI模块进行身份验证。在本例中,Geronimo似乎提供了配置机制和jetty身份验证模块本身
似乎您可以选择表单、摘要或基本身份验证方法。对基于表单的登录的快速测试表明,它似乎可以正常工作
Jaspi身份验证工厂设置在jetty-web.xml中,如下所示:
<Set name="securityHandler">
<New class="org.eclipse.jetty.security.ConstraintSecurityHandler">
<Set name="loginService">
<New class="org.eclipse.jetty.plus.jaas.JAASLoginService">
<Set name="name">JAASRealm</Set>
<Set name="loginModuleName">jaas</Set>
</New>
</Set>
<Set name="authenticatorFactory">
<New class="org.eclipse.jetty.security.jaspi.JaspiAuthenticatorFactory" />
</Set>
</New>
</Set>
JAASRealm
jaas
jaspi配置文件通过pom.xml文件中的系统属性引用:
<systemProperty>
<name>org.apache.geronimo.jaspic.configurationFile</name>
<value>./conf/jaspi/form-test-jaspi-2.xml</value>
</systemProperty>
org.apache.geronimo.jaspic.configurationFile
./conf/jaspi/form-test-jaspi-2.xml
此外,您提到的jaspi库与geronimo jaspi实现一起作为依赖项添加到pom中:
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jaspi</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.components</groupId>
<artifactId>geronimo-jaspi</artifactId>
<version>2.0.0</version>
</dependency>
org.eclipse.jetty
,但可以添加到${jetty.home/lib/ext}目录中(请参阅)。看起来是一个很好的答案:)我仍然不清楚为什么jaspi javadocs会出现在发行版中,而不是实际的代码中。需要两个外部LIB也使得在主页上支持jaspi的说法受到质疑。出于同样的原因,Tomcat可以声称与JSF兼容:|但是,唉,我会试试你的例子;)我非常喜欢jetty的模块化特性,您可以只启用所需的功能,并拥有轻量级运行时。不过,我接受您关于javadocs+外部库的观点;从文档中还不清楚jetty是如何支持此功能的。是的,jetty支持此功能已有多年了,但我个人很少听说,在启用方面我没有考虑太多,这主要是geronimo的另一个提交者(David Jencks)的工作。我们需要把它放到新的docbook文档中,但是我们希望在文档中看到它的拉取请求!