簡體   English   中英

如何使用 jetty-maven-plugin 10 指定 JAAS 配置文件

[英]How to specify JAAS config file with jetty-maven-plugin 10

我正在嘗試在開發環境中使用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.security.auth.login.config系統屬性未設置時,它嘗試讀取~/.java.login.config文件的最后一行是ConfigFile中記錄的標准行為。

我可以在命令行上明確設置它,但這不是一個理想的解決方案:

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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM