【问题标题】:Grails facebook graph plugin to check session in every controllerGrails facebook 图形插件检查每个控制器中的会话
【发布时间】:2011-07-16 21:58:40
【问题描述】:

我正在使用 grails 和 facebook graph 插件进行用户注册。但是,不是在每个动作和控制器中检查 facebook 会话。有没有更好的方法在进入控制器之前检查会话?所以,我不必复制代码来检查身份验证。

class FacebookSecurityFilters { def filters = { all(controller:'*', action:'*') { before = { println "test" } after = { } afterView = { } } } }

我使用命令 grails create-filters 创建了这个过滤器。但它根本没有被解雇,我的意思是它根本没有打印“测试”。我需要注册过滤器吗?我正在使用 Grails1.4M01

谢谢

【问题讨论】:

    标签: grails facebook-graph-api grails-plugin


    【解决方案1】:

    使用过滤器 - 这是拦截所有操作或基于模式的操作子集的好方法:http://grails.org/doc/latest/guide/6.%20The%20Web%20Layer.html#6.6%20Filters

    【讨论】:

    • 我创建了一个名为 SecurityFilters 的文件,这是内容类 SecurityFilters { def filters = { println "test" loginCheck(controller:'', action:'') { println "test" before = { if(!session.facebook){ println "error From filter" redirect(uri:"/") } } } } }
    • 但它根本没有被调用。我错过了什么吗?
    • 您有用于控制器和操作的空白字符串,但它们应该是通配符,例如controller:'*', action:'*' - 同时删除第一个 println "test" 并将第二个移动到 before 块中
    • 抱歉,我粘贴了一个从 grails 命令生成的新代码,但它仍然不会触发。 :(
    • 一件事,我的控制器在一个包中。有关系吗? (例如,com.mycom.LoginController)
    猜你喜欢
    • 1970-01-01
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    相关资源
    最近更新 更多