我知道可以在Controller中构建逻辑,我们可以尝试在将视图转发给用户之前,通过简单地不将其添加到模型映射对象来限制用户查看下拉值。我们现在已经实施了。 但现在我们正在尝试探索Spring安全性并将其添加到我们的应用程序中。 我知道spring security可以拦截url,然后阻止访问它或根据用户权限限制访问。 但是是否可以向用户提供对页面的访问,但是限制他查看使用Spring Security无法访问的下拉值。 有关Spring安全集成的任何建议和链接都会非常有用。
答案 0 :(得分: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>