gpt4 book ai didi

java - 如何在 Jetty 上使用 JASPI/JASPIC?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:06:34 27 4
gpt4 key购买 nike

在 Jetty 的 main project page提到了与 JASPI (JASPIC/JSR 196) 的兼容性。

然而,distribution of Jetty 8似乎不包含任何与 JASPI 相关的类。 [jetty home]/lib 中有一个 jetty-security-8.1.8.v20121106.jar jar,但这个不包含任何 JASPIC/JASPI 类型。

documentation about JASPIC/JASPI在 Jetty wiki 上只是一个占位符,不包含任何信息。

谷歌搜索后我找到了JavaDocs on the Eclipse site并发现应该有一个 jetty-jaspi-8.1.8.v20121106.jar somewhere .这些 JavaDocs 也包含在发行版中。最后,jetty-jaspi repo出现在 Github 上。

显然有一些可用的支持,但为什么 Jetty 发行版中似乎没有这些类?关于如何配置它的文档在哪里?我错过了什么?

最佳答案

This project (https://github.com/guofengzh/jaspi-on-jetty)是 jetty 中使用 geronimo-jaspi 的 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>

并且通过 pom.xml 文件中的系统属性引用 jaspi 配置文件:

<systemProperty>
<name>org.apache.geronimo.jaspic.configurationFile</name>
<value>./conf/jaspi/form-test-jaspi-2.xml</value>
</systemProperty>

此外,您提到的 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>

我也找不到关于该主题的文档。似乎 jetty-jaspi 模块不是 standard start options 模块之一。 , 但可以添加到 ${jetty.home/lib/ext} 目录(参见 Jetty classloading )。

关于java - 如何在 Jetty 上使用 JASPI/JASPIC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14224792/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com