Aspect可以有条件地呈现JSP页面的一部分吗?

时间:2010-05-17 15:41:36

标签: struts2 spring-security

目前,jsp页面具有正常的授权标签,可以有条件地呈现链接和信息等。该网站位于Intranet上,我们正在使用Spring Security 2.0.4。

我现在有一个商业用户希望允许所有角色在前几周访问所有内容,然后在从业务收集反馈时逐渐添加安全性。

除了遍历每个页面,删除授权标签,只需将它们放回去,是否可以通过某个方面配置它们,或者是否有其他方法将其外部化为配置文件?我发现了Spring的MethodSecurityInterceptor和元数据标签,但这些不会给我外化。

我最后一个小时一直在google上,现在我很确定无法做到这一点,但我很想知道我没有问过正确的问题。

建议赞赏

1 个答案:

答案 0 :(得分:0)

我得出的结论是,我原先认为它无法完成 - 这是我第一次看到Aspects。 我最终使用了扩展Spring 2 AuthorizeTag的自定义标记。自定义标记采用String参数,该参数可用作资源包密钥。 标记类使用要解析的密钥来查找资源包 例如

portletMenu.estateStatus=ROLE_TIER0,ROLE_TIER1,ROLE_TIER2,ROLE_MANAGED_SERVICES

然后使用返回的String与用户的角色进行比较。 它工作得相当好,并将授权外部化并集中在jsp之外。