java - 如何使用 jetty-maven-plugin 10 指定 JAAS 配置文件
问题描述
我正在尝试jetty-maven-plugin
在开发环境中使用。但是,我正在努力让 JAAS 正确获取登录模块配置文件。
以下是我的摘录pom.xml
(我留下了评论部分以显示我尝试过的变体):
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>10.0.2</version>
<configuration>
<webApp>
<contextPath>/${project.build.finalName}</contextPath>
</webApp>
<contextXml>${project.basedir}/jetty-context.xml</contextXml>
<stopKey>CTRL+C</stopKey>
<stopPort>8999</stopPort>
<scanIntervalSeconds>10</scanIntervalSeconds>
<scanTargets>
<scanTarget>src/main/webapp/WEB-INF/web.xml</scanTarget>
</scanTargets>
<!-- <systemProperties>
<systemProperty>
<name>jetty.jaas.login.conf</name>
<value>${project.basedir}/jaas.conf</value>
</systemProperty>
<systemProperty>
<name>java.security.auth.login.config</name>
<value>${project.basedir}/jaas.conf</value>
</systemProperty>
</systemProperties> -->
<jettyProperties>
<jettyProperty>
<name>jetty.jaas.login.conf</name>
<value>${project.basedir}/jaas.conf</value>
</jettyProperty>
</jettyProperties>
</configuration>
但是,使用它运行时mvn jetty:run
不会尝试加载jaas.conf
文件。我已经通过使用确认了这一点strace
:
$ strace -f mvn jetty:run 2>&1 | grep -i '\.conf'
...snip...
[pid 24242] openat(AT_FDCWD, "/etc/host.conf", O_RDONLY|O_CLOEXEC) = 165
[pid 24242] openat(AT_FDCWD, "/etc/resolv.conf", O_RDONLY|O_CLOEXEC) = 165
[pid 24270] stat("/home/myuser/.java.login.config", <unfinished ...>
当系统属性未设置时,它尝试读取~/.java.login.config
文件的最后一行是ConfigFile中记录的标准行为。java.security.auth.login.config
我可以在命令行上明确设置它,但这不是一个理想的解决方案:
mvn jetty:run -Djava.security.auth.login.config=jaas.conf
配置它的正确方法是什么?
解决方案
如果它对任何人有用,解决方案systemProperties
应该指定如下:
<systemProperties>
<java.security.auth.login.config>${project.basedir}/jaas.conf</java.security.auth.login.config>
</systemProperties>
推荐阅读
- go - 何时将 sync.Mutex 与 net/http 和 gorilla/mux 一起使用
- c# - 为什么 C# 编译器在字段初始化期间无法绑定实例委托?
- python - 当 t >= 20000 时 True break 不起作用?
- java - 从 tml 页面访问公共最终静态字段
- javascript - flowtype typeof 类不能按预期工作
- reactjs - 如何在 React 中将静态数据从一个组件传递到另一个组件?
- javascript - Chart.js x 轴,日期为 DD-MM-YYYY - React
- python-3.x - 有什么方法可以在烧瓶邮件中命名附加的 pdf 文件吗?
- ios13 - iOS 13/Swift 5 Commoncrypto 的加密/解密问题
- java - 请求相机许可