1

Burt Beckwith のスプリング セキュリティ フレームワーク ldap プラグインを使用して、コメント可能なプラグインを実行しようとしています。

ここで同様の問題を見つけました。

唯一の違いは、私が LDAP を使用していて、LDAP ユーザーの詳細に ID がないか、ID が表示されていないことです。

grails.commentable.poster.evaluator を設定してみました

{com.companyname.sec.User.get(org.springframework.security.core.context.SecurityContextHolder.context.authentication.principal.id)}

そしてまた

{com.companyname.sec.User.get(principal.id)}

これらは両方とも、上記で参照した別の問題で提案されました。私が得るのは以下のエラーです:

groovy.lang.MissingPropertyException: No such property: id for class: org.springframework.security.ldap.userdetails.LdapUserDetailsImpl

考えられる解決策: dn

これは dn フィールドの使用を示唆しているように見えますが、これは文字列であり、id は Long であるため、これは適切なオプションではないと思います。では、これら 2 つのプラグインを連携させるために grails.commentable.poster.evaluator を構成する方法はありますか、または互換性のあるタイプを取得するためにいずれかを変更する必要がありますか (つまり、コメント可能なプラグインを文字列を使用し、LDAP ユーザーの詳細からユーザー名を取得します。)?

4

3 に答える 3

1

コメント可能ではなく、spring-security-ldap プラグインを使用します。

私にとって、この本当に単純なコピー&ペーストソリューションはうまくいきました:

Burt による Grails Jira のソリューション

于 2011-09-06T16:07:41.450 に答える
0

使用する

{com.companyname.sec.User.findByUsername(principal.username)}

また

{com.companyname.sec.User.findByUsername(org.springframework.security.core.context.SecurityContextHolder.context.authentication.principal.username)}
于 2011-04-21T21:35:13.847 に答える
0

それは私に次のエラーを与えます:

org.grails.comments.CommentException: No [grails.commentable.poster.evaluator] setting defined or the evaluator doesn't evaluate to an entity. Please define the evaluator correctly in grails-app/conf/Config.groovy or ensure commenting is secured via your security rules

findByUsername メソッドがないことを意味すると読みました。では、id 値を取得するためにそのメソッドを作成することをお勧めしましたか? それに対応して、IDを生成するためにLDAPユーザーをデータベースに挿入する必要があると思います。

于 2011-04-25T13:39:38.200 に答える