Play framework チュートリアル実践・写経メモ-8.認証機能の追加
ちょろっと時間が空いた。もう2〜3個こなせばチュートリアルが終わるので一気に行きたいところ!だけど…
guide8:認証機能の追加
- secureモジュールの追加(dependencies.xmlに追記)
- play dependencies yabe→play eclipsify yabeでプロジェクトに反映。
- routesファイルに設定追記
# Import Secure routes * / module:secure
admin コントローラの保護
- コントローラにSecureモジュールの設定を反映。@Withモジュールで管理コントローラとして注釈付与。
- http://localhost:9000/admin にアクセス。管理系は全て認証ページが間に挟まる。※しかしこの時点では認証は何でも通る。
認証プロセスのカスタマイズ
- Securityクラスを作成、認証処理を実装。
- http://localhost:9000/logout でログアウト
管理機能のリファクタリング
- 管理機能のためのAdminクラスを作成
- routesファイルのリファクタリング。
# Administration GET /admin/? Admin.index * /admin module:crud
- 管理機能ページの作成
役割の追加
- 認可機能の追加。controllers.Securityクラスのcheck()メソッドをオーバーライド。(Securityクラス)
- @Check("admin")アノテーションを対象クラス4つに付加。
- isAdmin属性がtrue/falseのユーザでそれぞれアクセスし、認可処理が有効となっている事を確認。
CRUD レイアウトのカスタマイズ
- play crud:ov C:\eclipse3.6_playfw\workspace\yabe --layout コマンドでレイアウトファイルを作成。
C:\eclipse3.6_playfw\workspace>play crud:ov C:\eclipse3.6_playfw\workspace\yabe --layout ~ _ _ ~ _ __ | | __ _ _ _| | ~ | '_ \| |/ _' | || |_| ~ | __/|_|\____|\__ (_) ~ |_| |__/ ~ ~ play! 1.2.4, http://www.playframework.org ~ ~ Copied C:\play-1.2.4\modules\crud\app/views/CRUD/layout.html to C:\eclipse3.6_playfw\workspace\yabe\app/views/CRUD/layout.html ~ C:\eclipse3.6_playfw\workspace>
- CRUD/layout.htmlの内容を所定の内容で全置き換え。
ログインページのスタイル変更
- ログインページに対する作業実施。
C:\eclipse3.6_playfw\workspace>play secure:ov C:\eclipse3.6_playfw\workspace\yabe --css ~ _ _ ~ _ __ | | __ _ _ _| | ~ | '_ \| |/ _' | || |_| ~ | __/|_|\____|\__ (_) ~ |_| |__/ ~ ~ play! 1.2.4, http://www.playframework.org ~ ~ Copied C:\play-1.2.4\modules\secure\public/stylesheets/secure.css to C:\eclipse3.6_playfw\workspace\yabe\public/stylesheets/secure.css ~ C:\eclipse3.6_playfw\workspace>
ソースコードの記載部分に関しては、ちょこっとどのソースに記載すれば良いかが迷った点があったかな。あとはページのレイアウト部分について若干理解が浅い部分があるので(ソースが動く事は確認したけども)、チュートリアルが終わったらマニュアルを熟読して理解に努めよう。