Ruby on Railsでは、コントローラの特定のメソッドをログインしているユーザや特定の権限を持つユーザに制限する標準的な方法がありますか?シンプルさのために、私はブログを持っていて、誰もが私のコントローラーの "リスト"と "ショー"メソッドにアクセスできるようにしたいと思いますが、ログインしたユーザーが "編集"、 "更新" "作成"と他の方法。ロジックをプログラミングするか、少なくともこれらの関数のそれぞれに関数呼び出しをプログラムしてユーザーのアクセス権をチェックする必要がありますか、それとももっと正式な方法がありますか?Rubyでは、コントローラのメソッドを特定のユーザに制限するにはどうしたらいいですか?
2
A
答えて
4
before_filterを使用できます。
Class blogController
before_filter :authorize, :except => [:list, :show]
def authorize
#Your code to get a logged in user
redirect_to blog_path unless user
end
2
これは、例えばBefore filter
と呼ばれています
PostsController < ApplicationController
before_filter :authenticate_admin!, :only => [:index, :show]
1
あなたの質問のためのいくつかの例についてDevise、特にDevise Wikiをチェックしてください。これは、ログインと認証に役立ちます。 CanCanもチェックしてください。これは承認に役立ちます。
Deviseでは、「インデックス」(リスト)アクションと「表示」アクションに誰もがアクセスできるようにし、ブログ/ポストコントローラの上部にある次の行を使用して他のアクションを制限できます。
before_filter :authenticate_user! :except=>[:index, :show]
関連する問題
- 1. ブートストラップカラムを無制限に拡張するにはどうしたらいいですか(上限制限なし)?
- 2. IPアドレスでALL deviseコントローラへのアクセスを制限するにはどうしたらいいですか?
- 3. 特定のコントローラでRailsセッションストアを無効にするにはどうしたらいいですか?
- 4. OpenFileDialogの特定のディレクトリにユーザを制限する
- 5. 複数のDatePickerを特定の日に制限するにはどうすればよいですか?
- 6. このループを特定の番号に制限するにはどうすればよいですか?
- 7. MySQLユーザを特定のテーブルに制限する方法
- 8. すでに限定されたクエリを制限するにはどうすればよいですか?
- 9. Googleカスタム検索を特定のURLに制限するにはどうすればよいですか?
- 10. Rubyのメソッド名にはどのような制限がありますか?
- 11. ASP.NET MVCの特定のページへのアクセスを制限するにはどうすればよいですか?
- 12. mod_perlでHTTP POSTリクエストのサイズを制限するにはどうしたらいいですか?
- 13. リッチテキストボックスを最大数の数字だけに制限するにはどうしたらいいですか? (キャップ)
- 14. RubyのTest :: Unitでメソッドをテストするにはどうしたらいいですか?
- 15. ドロップダウンリストから選択した値をRubyのコントローラに渡すにはどうすればよいですか?
- 16. Rubyでメソッド呼び出しを傍受するにはどうしたらいいですか?
- 17. Rubyでスクリプトを作成するにはどうしたらいいですか?
- 18. これらの制限(ビジネス制限)を適用するにはどうすればよいですか?
- 19. コントローラ全体に対して特定のグループへのアクセスを制限するにはどうすればよいですか?
- 20. twigテンプレートのsymfony2 config.ymlから設定を読み込むにはどうしたらいいですか?コントローラで
- 21. ログインしているユーザーにコントローラの外部からアクセスするにはどうしたらいいですか?
- 22. Cocos2Dでポートレートモードを強制するにはどうしたらいいですか?
- 23. Yoctoの特定のマシンのカーネル設定を変更するにはどうしたらいいですか?
- 24. Rubyでは、メソッドがどのクラスにあるかを知るにはどうすればいいですか?
- 25. コミットのユーザ名を設定するにはどうしたらいいですか?
- 26. app.configにユーザが調整可能な設定を保存するにはどうしたらいいですか?
- 27. svnから特定のファイルをチェックアウトするにはどうしたらいいですか?
- 28. 特定のメソッドを呼び出した後、Eclipseで特定のexeptionをキャッチするメソッドを見つけるにはどうすればよいですか?
- 29. ruby on railsはユーザーを特定のデータに限定します
- 30. Gitで特定のバージョンのファイルをチェックアウトするにはどうしたらいいですか?
場合は、これは、インデックスを見ている人を強制または管理者であることを示すだろう不正 – apneadiving