Categories
open all | close allTags
Migration | ドキュメント | Aptana | パソコン | アクセス制御 | テスト | デュアル・コア | Flash | フォーム | 名称 | 認証 | RESTful | Subversion | CSRF | スキンエンジン | JustPosted | モデル | 国際化 | タグ | rakeSearch
管理画面の抽象化と権限チェックの強化
あまり成果が上がっていない話ですが,引き続き管理画面の抽象化を考えています。どういうことかというと,表示する内容(メニューの文字やリンクなど)と,表示を制御する部分(CSS,HTMLのタグなど)を分け,さらにそれらを表示ロジックと分離させたいのです。ここまでできると,管理画面がほとんど着せ替えに近い格好で変えられ,さらに管理画面の機能強化も容易になります。
前述のようにテーブルについては既に完成し,かなりのロジック軽減につながっているのですが,メニュー表示などに広げるかどうかが悩みどころ。もちろん分離は可能なのですが,ロジック側や表示側の手間がかなりかかってしまい,どうもメリットがあるのかないのか微妙なところ。今は使わない方向で動いています。
もう一つ考え中なのが,管理画面での権限チェックを忘れない方法。
管理画面ではアクションごとに権限のチェックが必要ですが,権限のチェックをしなくても動いてしまうため,セキュリティ・ホールを作ってしまうおそれがあります。そこで権限のチェックをしていないときに動かなくするか,メッセージを表示するような仕組みを入れておきたいと思っています。今,これを書きながら一つアイディアが浮かんだので試してみます。
結果:AdminControllerにinitializeメソッドを作り,そこで@right_checkedというインスタンス変数をfalseで初期化します。権限チェックのメソッドで,これをtrueに変えます。ビューを実行するときにこの変数を見て,falseだとエラーメッセージを出すようにしました。
Comments
No comments yet. You can be the first!