0
我有一種情況,我需要拒絕對未使用的HTTP方法的訪問。
我們在JBoss 4.2上運行,需要登錄。除GET和POST之外,所有其他嘗試訪問都應被拒絕。拒絕訪問j2ee中的HTTP方法
我已經嘗試過下面的web.xml配置,但它沒有幫助。該servlet仍然被調用並返回例如。 DELETE請求上的「訪問被拒絕」。
相反,我預計會返回501: Not implemented
。
如果我在第一個安全約束中沒有包含任何HTTP方法,那麼用戶會立即得到未經授權的頁面。
<web-app>
<security-constraint>
<web-resource-collection>
<web-resource-name>Deny most when not logged in</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<!-- no auth-constraint tag here -->
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Allow methods</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>Admin</role-name>
</auth-constraint>
</security-constraint>
</web-app>
任何想法應該如何做?