2010-12-14 6 views
0

一度認証されると、特定の名前空間にユーザースコープを制限したいと考えています。しかし、それらは動的になります(名前付きルートではありません)。例:Devise current_user vs user_session

単に
/rails/redteam/ 
/rails/blueteam/ 
/rails/greenteam/ 

または多分:

/rails/ 
...or... 
/

我々は彼らの「チーム」を知っていれば、その何とかルーティングで想定することができませんでしたか?

これを設定してこれを正しく処理するには、を安全に処理しますか?私はuser_sessionにチーム名を格納する必要がありますか?または、current_userにそのグループのクエリを実行し、before_filterで既知のグループと一致することを確認しますか?

ルート自体はどうですか?基本的に栄光のID、おそらく種類のパーマリンク? "Railsの方法を知らない?"

btw-私はCanCandecl_authのような認可宝石を知っていますが、可能であれば可能ならば、私はそれがすでに明らかではない場合、私は新郎です。

答えて

2

あなたが1つ(または他について学ぶために時間を割いてオフにはるかに優れている

可能であれば、私は、承認カンカンのような宝石やdecl_authの承知しているが、その複雑さを避けるためにしようと、または両方)を使って自分の解決策を試してみてください。最終的には、要件が変化するにつれて複雑になります。アプローチの基礎となる優れたフレームワークがなければ、問題は起こりえます。

+1

私が恐れていたもの...他のチームのデータを変更(または表示)しないようにする簡単な方法を探しています。私が見たり、少なくとも承認の宝石について理解しているのは、特定の役割*(管理者、ユーザー、モデレーターなど)に合わせられているように見えます。間違った前提をしていますか?もしかするとおそらくあなたは宝石の一つをお勧めすることができます。 – Meltemi

+0

カンカンは能力についてのすべてです。 "私は可能ですか:このオブジェクトを更新できますか?"その能力を実装する方法はあなた次第です –

+0

私は 'declarative_authorization'しか使用しませんでした。最近、CanCanは人気があり、使いやすいと評判が良いです。 – zetetic

関連する問題