我在課堂上有一個註釋@SecurityDomain("cjm")
。根據我部署應用程序的環境,我需要配置不同的安全域。所以我的想法是使用過濾:@SecurityDomain("${project.name}")
。如何用maven屬性替換Java註釋值?
但是,使用我在SO上找到的例子,沒有任何工作。我根本不能取代財產
這似乎很奇怪我還沒有找到一個很好的解決方案。可能我正在用錯誤的術語進行搜索。或者,也許,很奇怪,它(仍然)是不可能的。
maven模板插件是不夠的,它不包含過濾器,所以我有很多重複類編譯錯誤。
該項目是一個Java EE項目,使用keycloak saml安全適配器在Red Hat EAP 7上運行。 @SecurityDomain必須將安全性上下文從Web上下文傳播到ejb上下文。使用@RolesAllowed時這是必需的。我向keycloak團隊記錄了一個增強請求,以自動傳播安全上下文,就像在默認場景中所做的那樣。
您是否考慮過使用Spring配置?這裏的文檔: [Spring Externalized Configuration documentation](https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html) –
你似乎在說話關於「過濾」源代碼聽起來很奇怪的想法。你不介意把安全域放入屬性文件嗎?但是,有一個插件https://stackoverflow.com/questions/4106171/filtering-source-code-in-maven –
如何使用屬性與@Value($ {securityDomain})私人字符串securityDomain並注入此值@SecurityDomain(securityDomain) –