そのため、プロジェクトのレイアウト/構造について助けが必要です。私はウェブサイトを作成していますが、これまでのところ、LDAP サーバーに対して Apache Shiro でユーザーを認証し、ユーザーをスプラッシュ ページにリダイレクトするログイン ページが動作しています。ユーザーが持っている権限に応じて、スプラッシュ ページで特定のものを表示できる/できない場合があります。
私がやりたいことは、セッション情報 (つまり、ログインしたばかりのユーザー) から新しい ShiroUser を作成し、いくつかのロールを割り当てることです。たとえば、
def shiroUser = new ShiroUser()
shiroUser.username = session.username
shiroUser.addToRoles(ShiroRole.findByName('ROLE_USER'))
shiroUser.save()
によってROLE_USER
定義されます。
def shiroRole = new ShiroRole()
shiroRole.name='ROLE_USER'
shiroRole.save()
今のところ、ハードコーディングして、後でテーブルを参照し、そのテーブルの値に基づいてロールを割り当てるように調整することに興味があります。
私が疑問に思っているのは
- これはどこに置けばいいですか?
- このために新しいコントローラーを作成しますか?
- shiroRoles はどこで定義しますか?
- これを行うのは賢明ですか?(誰かがログインするたびに新しい ShiroUser を作成する)
これまで Web サイトを作成したことがないため、コードをどのように構成するか、またはどこに配置するかがわかりません。(ちなみに、GGTS を使用しています。) 方向性やアドバイスをいただければ幸いです。私は Grails in Action、Making Java Groovy、The Definitive Guide to Grails 2 などの多くの本を参考にしていますが、それらの例のほとんどは私がやりたいことと一致しません。私が見つけていないチュートリアルがある場合は、それらを見てみたいと思います。(私はたくさん調べましたが、リストしたようなコードのスニペットしかありませんが、実際にどこに行くのかは指定していません!)