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 にアクセス。管理系は全て認証ページが間に挟まる。※しかしこの時点では認証は何でも通る。


認証プロセスのカスタマイズ
管理機能のリファクタリング
# 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>

ソースコードの記載部分に関しては、ちょこっとどのソースに記載すれば良いかが迷った点があったかな。あとはページのレイアウト部分について若干理解が浅い部分があるので(ソースが動く事は確認したけども)、チュートリアルが終わったらマニュアルを熟読して理解に努めよう。