2015-10-07 25 views
0

我知道可以在Controller中構建邏輯,我們可以嘗試通過簡單地不添加它來限制用戶看到下拉值將視圖轉發給用戶之前的模型映射對象。我們現在已經實施了。 但是現在我們正試圖探索Spring安全並將其添加到我們的應用程序中。 我知道春季安全可以攔截網址,然後阻止訪問它或根據用戶權限限制訪問。 但是是否有可能爲用戶提供對頁面的訪問權限,但限制他查看使用Spring Security無法訪問的下拉值。 有關彈簧安全集成的任何建議和鏈接都會很有幫助。是否可以隱藏/顯示基於訪問級別使用Spring安全性的下拉值

+0

是否要禁用所有下拉元素,或者只是根據權限禁用下拉元素中的某些值? –

+0

@ B.K。我想根據權限禁用某些下拉值 – user55926

+0

您沒有提及您使用的是哪種視圖技術,但該庫帶有[用於JSP的taglibs](https://docs.spring.io/spring -security /站點/文檔/ 3.0.x的/參照/ taglibs.html)。儘管如此,你可以使用這個構建塊來實現你想要的行爲。 – kryger

回答

2

如果我正確理解你,這應該可以工作,但現在沒有嘗試。

假設您的下拉列表包含植物,但用戶可以看到水果或蔬菜。您可以創建兩個角色ROLE_FRUIT和ROLE_VEGETABLE。如果你的工廠有一個名爲type的屬性,那麼你可以添加標籤到你的下拉列表中。

用戶只能看到水果或蔬菜。

<form:select path="plantId"> 
    <form:option value="0" label="--- Select ---" /> 
    <c:forEach var="thePlant" items="${plants}"> 
     <security:authorize access="hasRole('ROLE_'+${thePlant.type})"> 
      <form:option value="${thePlant.plantId.toString()}"><c:out value="${thePlant.name}"/></form:option> 
     </security:authorize> 
    </c:forEach> 
</form:select> 
相關問題