質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

解決済

2回答

4807閲覧

パスワード認証画面を作りたい

Takuma_Tanaka

総合スコア128

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2016/09/05 06:15

ご覧頂き、ありがとうございます。

###前提・実現したいこと
個人情報を含むアンケートのCSVファイルのダウンロードページを作ろうとしています。
ダウンロードページを開く際にパスワードによる認証を設定したいと考えています。

###発生している問題・エラーメッセージ
最初はnginxでベーシック認証にしようと思ったのですが、nginxの再起動が必要な方法しか見つけられませんでした。
前任者が詳細な情報を残していっておらず、詳細な内容が分からない為nginxを再起動すると、その他の何を起動すれば良いか分からないので、再起動したくない状況です。
特定の人がファイルをダウンロードするためだけなので、データベースにユーザーIDやパスワードを登録する必要もなく、それぞれ一つづつかパスワードが一つのみあれば良いと考えています。
その為deviseを使用するという考えは除外しました。

###試したこと
Javascriptで以下のような内容を作ったのですが、この場合、直接ファイル名のURLを叩くと開けてしまいますので、危ないと思いました。

<script language="JavaScript" type="text/javascript"> function nextPage(){ pwd=document.form1.pass.value; location.href=pwd+".html"; } </script>

###補足情報(言語/FW/ツール等のバージョンなど)
・CSVファイルダウンロードページはRails内
・流れとしてはダウンロードページ自体に認証を設置しても、認証ページを作成して、そこからダウンロードページに飛ぶ内容でも問題ありません。

色々調べているのですが、良い方法が見つけられませんので、皆さんからお知恵を拝借できればと思います。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

再度色々探していたら次のページを見つけました。

http://altarf.net/computer/rails/2477

このページを参照して以下の様なソースを書いてベーシック認証もどきを設置することにしました。

controller

before_action :authenticate, only: [:csv_dl] def csv_dl end private def authenticate authenticate_or_request_with_http_basic('Administration') do |username, password| md5_of_password = Digest::MD5.hexdigest(password) username == 'admin' && md5_of_password == '5ebe2294ecd0e0f08eab7690d2a6ee69' end end end

御覧頂いた方々・ご回答頂いた方々ありがとうございました。

投稿2016/09/05 08:36

Takuma_Tanaka

総合スコア128

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

最初はnginxでベーシック認証にしようと思ったのですが、nginxの再起動が必要な方法しか見つけられませんでした。

ちなみにですが、その参考にされた方法を提示いただけませんか?
Basic認証の設置程度で再起動が必要になるとは思えません。
reloadで対処出来ると思います。

投稿2016/09/05 06:37

kunai

総合スコア5405

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Takuma_Tanaka

2016/09/05 07:07

ご回答ありがとうございます。 調べていて見つけたのは以下の様なページになります。 http://qiita.com/kotarella1110/items/be76b17cdbe61ff7b5ca https://gist.github.com/yasainet/c8f61cb25ff59dd3349e http://vdeep.net/nginx-basic-authentication http://wpnote.link/notes-when-performing-basic-authentication-with-nginx/ どこもnginxの再起動が最後に必要と記載がありますが、reloadでも良いのでしょうか? また、無知で申し訳ないのですが、reloadした場合は再起動と違い、起動していたアプリを起動し直す必要があるのでしょうか?
kunai

2016/09/05 07:41

1つめや3つ目のようなツールを使う場合、そのツールがどの程度WEBサーバ本体に影響を与えるか不明なため、もしかしたら再起動が必要になるのかもしれませんが、提示されたURLの中身を見る限りは問題ないんじゃないかなと言う感想です。 そもそもツールを使わなくとも自前で.htpasswdファイルを用意出来ればそれで済むわけですが。 2つ目と4つ目の方法については追加のパッケージインストールも必要なく、reloadで済むと思います。 起動していたアプリと言うのは何のことなのか不明ですので何とも言えません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問