2012-01-18 20 views
1

私はGrailsを使い慣れていて、バージョン2に飛んでいます。私はSpring Security 3を使ったプロジェクトを開発していますが、これはうまくいきますが、私の組織のLDAPサーバを使いたいです場合には(彼らは Grailsでは、LDAP認証に基づいてユーザを作成したり更新したりするにはどうしたらいいですか?

  • の更新プログラムをローカルユーザーのパスワードを存在しない場合は、LDAP
  • から詳細をローカルのユーザーデータがユーザーを作成

    • 認証ユーザー
    • 更新:)以下を実行しますLDAPサーバーは利用できません)
    • そのユーザーi nは

    私は実際にGrailsがどのように動作するかのように、この作業を取得する私の方法で基本的なものをたくさんスキップされた可能性 - と私は実際にLDAP検索で春のセキュリティ認証プロセスを中断する方法を理解するのに苦労していますそれらを使用して既存のユーザーを更新するか、新しいユーザーを作成する方法でこれらの詳細を取得する方法...

    私は基本的なチュートリアルをhttp://jamesjefferies.com/2011/01/06/grails-spring-security-ldap/として見つけました。ユーザーはLDAPサーバーからアクセスできますが、Spring Securityは引き続きログアウトして表示しますが、手動でログアウトするまではログインできません。

    魔法は私の頭の中でやっている...最初は私はいくつかのコマンドと数時間のカスタマイズでウェブアプリ全体を構築できると驚いたが、有用な例がない...そして、Spring Security LDAPプラグインのドキュメントは多少不足している(あるいは私の理解が不足している)。

    主に、認証を完了して既存のユーザーのユーザーデータベースをチェックして更新したり、ユーザーが存在しない場合にユーザーを作成したりするための支援をしたいと思いますが、誰かが私にGrailsの認証プロセスの概要を伝えることができたら、実際に何が起きているのか、どこで物事を傍受すべきかを理解することができます。任意のヘルプ

    を事前に

    乾杯スティーブ

  • 答えて

    0

    カスタムユーザー詳細マッパーを実装する方法を示し良い例hereがあります。私は、LDAPログインGrails 2.0アプリケーションでこのメソッドを使用しました。基本的には、UserDetailsContextMapperインターフェースを実装するCustomUserDetailsContextMapperがあります。このインターフェースを使用して、conf> spring> resources.groovyにBeanを登録することによってデフォルトの実装をオーバーライドします。次に、CustomUserDetailsContextMapper内で、一致するユーザー名を持つユーザー(ドメインクラス)をチェックし、存在しない場合は、LDAPクエリ結果のデータを含むctx.originalAttrsのデータを使用してユーザーを作成します。その後、新しいorg.springframework.security.core.userdetails.Userを返す必要があります。このクラスを拡張して、プリンシパルオブジェクトから直接アクセスできる他のフィールドを追加することができます。

    +0

    ありがとうDylan、私はそのポストを読んでそれを使っていましたが、それは私のためにはうまくいきませんでした...私は今、まだ多くの進歩があります。私は何を見つけるかを試し続けていきます。 – Steve

    +0

    そのスレッドから2010年11月4日のDavid Russellの投稿。 7:17 amは本当に完全なコードを記述したものです。私は、私たちのLDAPデータと、いくつかの問題を抱えているIBM JDKを使用するwebSphereにデプロイしなければならないという事実のためにいくつかの調整を加えなければなりませんでした。 –

    +0

    ありがとう、私は現時点でそれで悪夢を抱いているので、私は新しいテストアプリケーションをセットアップし、その中で動作するかどうかを見てみましょう...しかし、MyUserDetailsに間違った列数...私は何度も何度もやってきました。すべてが正しいようです... – Steve

    関連する問題