2016-04-13 10 views
0

私は推測していません。ここで私が念頭に置いている状況は次のとおりです。妥当なセキュリティ対策をVIEWSでif/thenを使用していますか?

form action='/12345/destroy', method='POST' 
    - if @current_user.kind_of? Admin 
    button 
    - else 
    span You cant do that 

このようなページを構築するにはどうすればよいでしょうか?それらの "担当"のコントローラを作成し、そこにボタンを持っていますか?管理者が一部のユーザーが削除ボタンを使用できなくすることを選択した場合は、正方形に戻りますか?ありがとう

答えて

0

あなたの例は完璧なIMHOですが、実際にはあなたの要件によります。いつかもっと多くの種類のユーザーが必要になると思うし、ビューが乱雑になる恐れがあると思うなら、ACLライブラリを調べることをおすすめします。また、独自の認証レイヤーをいつでもロールすることができます。

0

あなたのビューは問題ありませんが、明らかに安全ではありません。 "コントローラ"(ある場合)またはその要求の受信側で特権をチェックする必要があります。

また、そのロジックはおそらく複数の場所で使用されます。あなたはヘルパーメソッドにそれを抽出することを検討するかもしれません。

form action='/12345/destroy', method='POST' 
    = render_destroy_action_for @current_user 

ロジックにメソッドが隠されていれば、後で変更する方が簡単になります。

関連する問題