Railsは複数のモデルで設定された権限を考案する

私は標準の実装を実装しており、他のモデルでは、セッションが終了するとリダイレクトされずにエラーメッセージが表示されるようです。

たとえば、ログインしていないユーザープロファイルページでは、current_userが存在しないため、エラーが表示されます。

私はそれぞれのモデルで許可するように設定していますか?または、より良い解決策、私はアプリコントローラでそれを設定し、アプリケーション全体を行うだけで、必要に応じてパブリックページを設定することができますか?

0

2 答え

before_filter:authenticate_user!などのbeforeフィルタを使用します。これをアプリケーションコントローラに配置します。 authenticate_user!は開発者のヘルパーなので、カスタム動作が必要な場合はメソッドをオーバーロードするか、 user_signed_in?ヘルパーメソッドを使用して独自のフィルタを作成します。

0
追加された

特定のコントローラがユーザーがログインしているかどうかを確認するには、Deviseのauthenticate_userを使用する必要があります。関数。下記の例を参照してください

class StuffController < ApplicationController
  before_filter :authenticate_user!
  def index
    ..... more implementation
  end
end

ユーザーがログインしていない場合、ログインに成功した後、ログインフォームにリダイレクトされ、必要なページにリダイレクトされます

0
追加された