2011-01-29 66 views
0

我試圖設置安全約束反向。我想說的是,除了我指定的以外,所有頁面都需要登錄。我用:設置反向安全約束

<security-constraint> 
    <web-resource-collection> 
     <url-pattern>/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>*</role-name> 
    </auth-constraint> 
</security-constraint> 

但我不知道該怎麼說index.jsp不需要登錄。

回答

2

簡單的答案是,你不能做到這一點使用web.xml文件(可以說是一件好事,因爲安全機制最好保持儘可能簡單)。正如@Johan所說,保護一些網址格式,例如/secure/*/app/*,並將所有網頁放在那裏。

0

要麼將​​所有安全頁面/secure並將您的安全篩選器配置爲/secure/*,要麼在您的過濾配置中創建一個排除項。下面的示例是基於Spring的安全性:

<http auto-config='true'> 
    <intercept-url pattern="/index.jsp*" filters="none"/> 
</http> 
+0

雖然這是100%正確的,但是OP詢問web.xml部署描述符,並沒有指出他們正在使用spring-security。由於web.xml約束是在容器級別執行的,因此這兩種方法也不容易混合。 – 2011-01-30 13:36:50