2017-10-18 97 views
0

我有以下安全約束在web.xml是否可以在自定義屬性的基礎上啓用/禁用web.xml中的安全約束?

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>TempName123</web-resource-name> 
     <url-pattern>/a/b/c</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>*</role-name> 
    </auth-constraint> 
</security-constraint> 

這裏財產,主要要求是,這種約束需要一定的基礎上加載。在安裝過程中,某些用戶可能選擇添加此安全性,或者可能不會。

在jboss/tomcat中是否有任何基於屬性的功能,當設置爲true時,則考慮這個安全約束,否則忽略?

PS:我試圖避免基於文件的操作每次需要添加/刪除此功能時編輯web.xml文件。

+0

你檢查https://stackoverflow.com/questions/8069640/whitelist-security-constraint-in-web-xml? –

回答

0

在運行時更新安全約束並不常見。我的建議是將此嵌入到構建過程中,以防在開發/測試過程中需要停用安全約束。我不知道任何(指定)運行時配置。

當然,當你明確地標記tomcat時,可​​能有辦法與Tomcat的API進行交互以實現這一點 - 我期望這完全是Tomcat-(版本)特定的,並且會驚訝地發現任何東西像這樣的servlet規範(免責聲明:我沒有在那裏檢查過 - 很長一段時間沒有閱讀規範,這只是從內存和個人的期望)

我的單詞回答,除非有人證明我是錯誤的:

是否有到JBoss/Tomcat的任何基於屬性的功能,當設置爲 真,那麼這個安全約束被考慮,否則被忽略 ????

沒有

+0

某些用戶可能會/可能不會選擇具有此安全性限制。所以我猜,在應用程序部署到用戶機器上時,唯一的方法是編程編輯'web.xml'文件,並使用基於文件的操作相應地添加這個安全約束。 –

+0

您不需要手動編輯 - 您的構建系統也可能僅產生兩個不同版本的可部署工件。然後您可以選擇要部署的版本。 –

相關問題