【发布时间】:2014-05-07 09:21:32
【问题描述】:
我有一个具有多个操作的 Grails 控制器。目前,所有操作都可用于用户调用(我可以从浏览器访问它们),即使是那些只能通过 g:include 标记调用的操作。我想限制从浏览器访问此类操作。我无法将操作标记为受保护,因为在这种情况下,我将无法将此操作包含在另一个控制器的视图中。
有没有在这种情况下如何封装动作的做法?
【问题讨论】:
-
嗯,可能有很多方法可以做到这一点 - requestMappings 是其中之一 -grails-plugins.github.io/grails-spring-security-core/docs/… 但我需要 spring 安全插件,并且你设置角色。我正在使用它,它对我来说效果很好,但这并不意味着它会成为你的灵丹妙药。
-
这是您要查看的部分:4.1 定义安全注释
-
您认为使用安全插件处理可见性范围可以吗?我希望有类似 allowedMethods 属性的东西。它指定操作允许使用哪些方法。如果还可以完全禁止从外部访问操作,但使其可用于内部调用,那就太好了。
-
如果我没记错,那么您需要一个只能在 gsp 中访问且不能从浏览器调用的操作。我说的对吗?
-
@Yuriy as user1690588 说 Taglibs 是要走的路,我误解了这个问题。