0

我试图了解根据弹簧和瓷砖的一些逻辑来改变页面外观的正确方法。例如,如果用户在登录之前查看页面,然后在登录之后,他们可能会看到一些不同的导航或操作。或者,如果用户权限已更改。我是否应该为用户可能看到的每个不同状态设置不同的图块定义,然后让控制器运行逻辑以查看它应该返回哪个定义?这似乎平铺视图定义的数量可以快速增长。这只是它的完成方式还是有其他方法可以更简单地处理这个问题。

谢谢

4

1 回答 1

0

如果您使用的是 spring security(您使用 spring 标记了您的问题),则spring security 标签库可能是一个选项:

<ul id="navigation">
  <li>
    <a href="..">Everyone can see this link</a>
  </li>
  <sec:authorize access="hasRole('SomeRole')">
    <li> 
      <a href="..">Only users with role SomeRole can see this link</a>    
    </li>    
  </sec:authorize>
</ul>

对于简单的事情,比如导航中的一些额外按钮,这很好用。

但请注意,这只会切换视图中链接的可见性。您仍然必须保护您的控制器/服务,以确保只有登录的用户才能访问它们。

于 2013-09-08T08:56:26.677 回答