2

テスト用の grail アプリケーションに spring-security-facebook をインストールしました。これは、spring-security-core をインストールして s2-quickstart を実行した後に行われました。

私は初心者で、Facebook のログイン ボタンをテスト アプリに統合しようとしていました。しかし、問題は、s2-init-facebook を実行すると、 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以降のバージョンでは、ほぼすべてがオプションFacebookAuthServiceで拡張でき、必要に応じて実装できます(ドキュメントにも記載されています)。

于 2012-06-12T07:59:28.983 に答える