3

プラグインで動作するようにアプリを構成する正しい方法を見つけるのが非常に難しいと感じています。grails 1.3.6 と Shiro プラグイン 1.1.3 を使用しています。

プラグイン ドキュメント サイトのクイック スタート ガイドに従ってアプリケーションをセットアップしましたが、さらに構成したい場合、つまりログイン成功 URL を設定したい場合、障害にぶつかっています。

私が理解していないのは、調査の結果、オプションを設定する3つの方法があることがわかりました..

  1. config.groovy で明示的なオプションを 1 行として設定する、つまり security.shiro.redirectUrl = "/blah"

  2. nabble と Stack Overflow でこのタイプのブロックをよく見かけますが、どこに行くかについてのヒントはありません。

    security { shiro { filter { successUrl:"/blah/" } } }

このアプローチを試して successUrl を設定しましたが、効果はありません。

  1. SecurityFilters.groovy ファイルへの参照を見てきましたが、このファイルのどこに successUrl を配置するのかわかりません..

だから誰かが私のためにこれを片付けることができれば、それは素晴らしいことです:-)

ありがとう、

4

1 に答える 1

3

お恥ずかしいのですが、ShiroFilters のソースコードを読んでみると、controller: "auth", action: "login" がハードコーディングされているようです。したがって、基本的に、保護されたアドレスにヒットすると、リダイレクトが発生します。認証アクションを処理した後、params で指定された targetUri 値を使用するかどうかに関係なく、宛先に好きなアドレスを選択できます。

本当にカスタマイズする必要がある場合は、ソースを編集することをお勧めします。ここで、依存性注入を介して grailsApplication を提供し、その「.config」パラメーターから読み取り、さらに構成可能性を追加することもできます。

于 2011-03-09T00:13:16.443 に答える