2

我已将 spring-security-facebook 安装到测试圣杯应用程序中。这是在安装 spring-security-core 并运行 s2-quickstart 之后完成的。

我只是一个新手,正在尝试将 facebook 登录按钮集成到我的测试应用程序中。但是,问题是当我运行 s2-init-facebook 时,插件没有生成默认的 Dao,正如http://grails.org/plugin/spring-security-facebook中的文档中所说的那样

使用您自己的身份验证 dao

插件调用 s2-init-facebook@ 后生成一个 Dao,并将其放入您的 @conf/spring/resources.groovy 和 @Config.groovy@。实际上它是一个“愚蠢”的 dao 实现,你必须重写它以遵循你的数据结构:

我的应用程序目录的缩短树输出如下所示:

.
├── application.properties
├── grails-app
│   ├── conf
│   │   ├── ApplicationResources.groovy
│   │   ├── BootStrap.groovy
│   │   ├── BuildConfig.groovy
│   │   ├── Config.groovy
│   │   ├── DataSource.groovy
│   │   ├── hibernate
│   │   ├── spring
│   │   │   └── resources.groovy
│   │   └── UrlMappings.groovy
│   ├── controllers
│   │   ├── LoginController.groovy
│   │   └── LogoutController.groovy
│   ├── domain
│   │   └── com
│   │       └── fbtest
│   │           └── webapp
│   │               └── auth
│   │                   ├── FacebookUser.groovy
│   │                   ├── SecRole.groovy
│   │                   ├── SecUser.groovy
│   │                   └── SecUserSecRole.groovy
│   ├── i18n
│   │   ├── ...
│   ├── services
│   ├── taglib
│   ├── utils
│   └── views
│       ├── error.gsp
│       ├── index.gsp
│       ├── layouts
│       │   └── main.gsp
│       └── login
│           ├── auth.gsp
│           └── denied.gsp
├── lib
├── scripts
├── src
│   ├── groovy
│   └── java
├── test
│   ├── integration
│   └── unit
└── web-app
    ├── ...

resource.groovy 文件也是空的。

// Place your Spring DSL code here
beans = {
}

请帮助我理解我是否做错了什么。

我正在使用 Grails 版本:2.0.4,spring-security-facebook 的版本是 0.8。

提前致谢。

4

1 回答 1

2

哦,它应该从文档中删除。对于上一个版本,不需要拥有自己的 DAO,现在它具有默认的非常灵活的 DAO。现在它不是在安装过程中生成的。尝试运行您的应用程序,如果一切配置正确,它应该可以工作。

如果您自己实现了它,您仍然可以使用自己的 DAO。但是对于自 0.7 以来的版本,几乎所有内容都可以使用 optional 进行扩展,FacebookAuthService如果您愿意,您可以实现(它也在文档中进行了描述)。

于 2012-06-12T07:59:28.983 回答