私の Ruby on Rails アプリケーションでは、apache .htaccess 機能を使用して public フォルダーの一部を保護し、認証されていない人がファイルからアクセスできないようにしようとしています。そのため、.htpasswd ファイルを配置してこのフォルダーを保護し、それに応じて apache をセットアップすると、ファイルにアクセスするためのログイン/パスワードが求められます。
Restful 認証プラグインを使用して、資格情報に対してユーザーを認証します。私の考えは次のことでした:
- ユーザーを認証する
- ユーザーが認証されている場合は、HTTP_AUTHORIZATION 変数を設定して保存し、ブラウザーがログイン/パスワードを要求することなく、保護されたフォルダーのファイルにアクセスできるようにします。
私がしたこと、アプリケーションコントローラーで:
helper_method :set_http_auth
def set_http_auth
request.env['HTTP_AUTHORIZATION'] = AutionController::HttpAuthentication::Basic.encode_credentials("myLogin","myPassword")
end
次に、コントローラで before_filter を呼び出して値を設定します。
HTTP_AUTHORIZATION が request.env 配列に設定されているようですが、残念ながら、保護されたフォルダー (画像など) からファイルを取得しようとすると、ブラウザーは引き続きログイン/パスワードを要求します。
誰かがアイデアを持っているなら、私はすべて耳にします:)ありがとう!