ページ 11

ログイン状態の時だけファイルをダウンロードできる様にするには?

Posted: 2010年10月14日(木) 17:30
by backpackdesign
お世話になります。

WebLoginを使って、ログインした人だけが閲覧できるページを作成したのですが、
ログインした状態の時だけファイル(圧縮ファイル)をダウンロードできるようにするにはどういった方法がありますでしょうか?
ログインしていない状態で、直接URLをたたいてもダウンロードできないようにしたいと思っております。

宜しくお願い致します。

[modx] バージョン:1.0.4J-r3

Re: ログイン状態の時だけファイルをダウンロードできる様にするには?

Posted: 2010年10月15日(金) 03:23
by soushi
soushiです。

直接の答えではないですが、先月のオープンソースカンファレンスで発表した内容に「画像にMODxの認証をかける」というサンプルがありました。
これを応用することで圧縮ファイルも同じような認証をかけることができると思います。
発表に使った資料はこちらです。

http://osc2010.modx.ayd.jp/OSC2010Tokyo ... eminar.pdf

また、以下がサンプルで用意されたサイトです。

http://osc2010.modx.ayd.jp/

サンプル1で用意した画像は直接アクセスしてもログインしてないと認証エラーになります。
この画像を圧縮ファイルに置き換える形で改造してみたらどうでしょうか。

Re: ログイン状態の時だけファイルをダウンロードできる様にするには?

Posted: 2010年10月15日(金) 10:55
by backpackdesign
soushi様

ご回答有難うございます。
まさにこういった物を探しておりました!

まずは、テストとして画像ファイルを資料と同じディレクトリ構造と名前で試したのですが、うまく動作しませんでした。
エラーなどはでませんが、直接アクセスしても画像は表示されてしまいます。

当方プラグインのSEO Strict URLsを導入していまして、エイリアスを拡張子(img_out.html)まで記述しています。
今回の画像認証もhtaccessでリライトさせていますが、支障があるのでしょうか?

Re: ログイン状態の時だけファイルをダウンロードできる様にするには?

Posted: 2010年10月15日(金) 13:36
by soushi
soushiです。

セミナー資料上では権限の設定周りまでは細かく説明していないため、画像表示に利用するリソースに対して適切に権限を設定する必要があります。
MODx管理画面上で「ユーザグループ」「リソースグループ」を作ってそれぞれの関連付けを行う事で権限の設定を行います。
※権限設定を行うには管理画面上部の「グローバル設定」→「詳細設定」→「グループ管理機能を使用する」を有効にする必要有。

また、mod_rewriteで画像へのアクセスをMODxの処理へ投げるように設定するので、こちらも正常に動作しているか確認したほうがいいかもしれません。
backpackdesign さんが書きました: 当方プラグインのSEO Strict URLsを導入していまして、エイリアスを拡張子(img_out.html)まで記述しています。
今回の画像認証もhtaccessでリライトさせていますが、支障があるのでしょうか?
きちんとMODxの画像表示用リソースに対して処理が渡っていれば特に問題ないと思います。

Re: ログイン状態の時だけファイルをダウンロードできる様にするには?

Posted: 2010年10月15日(金) 15:27
by backpackdesign
soushi様

ご返信有難うございます。
「accesses」というユーザーグープに「DocAccess」というリソースグループを設定して関連付けています。
制限をかけたいリソースの所属グループに「DocAccess」を設定して、ログイン後に閲覧できる会員専用ページを作成しています。
今回のファイルに制限をかける場合も「画像認証」のリソースに所属グループ「DocAccess」を設定したのですがうまい事いきません。

あまりプログラム関係詳しくないので、資料やサンプルサイトを参考に色々試してみたいと思います。
取り急ぎお礼申し上げます。