Categories
open all | close allTags
アクセス制御 | ドキュメント | Migration | Aptana | デュアル・コア | パソコン | OpenID | rake | タグ | CSRF | Flash | テスト | フォーム | 国際化 | 認証 | モデル | 名称 | Subversion | スキンエンジン | RESTfulSearch
アクセス制御補遺
ちょっとめんどくさいのがゲストの扱いです。まず,ログイン処理するところで,ゲストの場合,ゲストというユーザーにするか,それともユーザーなしにするかという選択肢があります。また,各ブログでゲストに与える権限(Role)を決められるようにしないといけません。考え方としてはゲストというユーザーが必ずTeamに入っていて,そこで権限を設定するというのが一つのやり方。もう一つはblogのテーブルにゲスト・ロールのIDを入れるフィールドを追加する方法。
前者の方が形としてはきれいで,クエリーも1種類で済みそうなのがメリット。ただし,Teamにゲストが入るので,そこだけ特別扱いしないと何か変なことになってしまう恐れがないとも言えません。また,必ずゲストがTeamに入るよう,制御するのもちょっと面倒かも。後者はそういったルールを作らなくて済むのがメリットですが,クエリーはちょっと面倒になるかも。これだとユーザーなしのままで進められというメリットもあります。
ログイン・メンバーだけど,ブログのチームに入っていない場合にどういう扱いにするかという問題もあります。全員チームに入れた上で権限を決めるというやり方はありますが,人数が多くなるとチームのテーブルがn×nのオーダーで膨れ上がります。この場合もブログにログインしているけどチームでない場合の権限へのIDを入れておくのがやりやすそう。
当初はここでシステムロールから権限を決めるつもりだったのですが,そうするとブログごとに設定が変えられない,あるいはブログごとにちがうシステムロールを作らないといけいないことになるので,これまたちょっと面倒なことになります。
パターンが多くてこんがらがりそう。
Comments
No comments yet. You can be the first!