有没有办法在Grails的Shiro过滤器中获取客户端/调用者的IP地址

时间:2011-09-28 14:01:17

标签: security grails shiro

抱歉,如果这是一个愚蠢的问题。我有一些在Grails控制器中实现的Web服务调用,我们使用Shiro插件来提高安全性。我希望能够为某些操作创建IP地址白名单,这些操作应仅来自我们自己的服务器或可信赖的合作伙伴。我发现文档在这个问题上有点备用。我的第一个想法是尝试在这里实施白名单。如果有一个更简单的方法,我不会感到惊讶。我有点像Shiro newb。可以肯定使用Shiro for Dummies的副本!

class ShiroSecurityFilters {
     def filters = {
        all(uri: "/**") {
            before = {
                // Ignore direct views (e.g. the default main index page).
                if (controllerName in ['foo', 'bar']) {
                  return true
                }
                 // Access control by convention.
                accessControl()
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您应该有权访问过滤器中的request对象,并且可以调用request.getRemoteAddr()来访问IP地址。