• ベストアンサー

ユーザごとに異なるページ

ユーザIDとパスワードを入力後、ユーザごとに異なるページにジャンプするようなCGIを作成したいと思ってます。プラットホームはApachでPerl言語を使用したいと思ってます。サンプルプログラムや方法、アイデアがございましたら是非ご教授ください。 ちなみに、Apachでユーザを作成することは許されています。(作成せずに済むことに越したことはないのですが・・・)

質問者が選んだベストアンサー

  • ベストアンサー
  • natural
  • ベストアンサー率37% (419/1115)
回答No.4

先程の回答では適当でなかった様な気がしますのでもう一度。 >REMOTE_USERとはどのような認証方式をクリアしたユーザなんですか? .htaccessを用いて認証させるのならばそのときのユーザーが該当します。 >UNIXで作成したユーザでしょうか? 前回の方を御覧頂ければ判りますがUNIXで作成したユーザーでも独自に作成したユーザーでも使用できます。 >.htaccessファイルによる認証をクリアしたユーザはREMOTE_USERにセットされるのでしょうか? されます。 以上、補足でした。

holydevil
質問者

お礼

ありがとうございます。REMOTE_USERって便利ですね。 早速、テストサイトを作ってみたいと思います。

その他の回答 (3)

  • natural
  • ベストアンサー率37% (419/1115)
回答No.3

お礼読ませて頂きました。 REMOTE_USERとはApacheのBasic認証を用いて認証させた場合に設定される環境変数です。 この環境変数はCGI内部で自由に参照することが出来ます。 尚、認証時に使用されるユーザーIDとパスワードは特定のファイルを指定しなければ当該ホストのユーザー情報が使用されますが、ファイルを指定して独自に作ったユーザー情報(ユーザーIDとパスワードの組み合わせ)を使用することも出来ます。 参考URLに.htaccessの利用法が書かれたサイトを記載しておきましたので詳しくは「パスワードによるユーザー認証のかけ方」の項目をご覧下さい。

参考URL:
http://www.mikeneko.ne.jp/~lab/cgi/htaccess/
  • natural
  • ベストアンサー率37% (419/1115)
回答No.2

補足です。 REMOTE_USERと「.html」等拡張子をCGI内部で組み合わせて飛ばしてやれば簡単にユーザごとのページへ送り込むことが出来ますね。 勿論その場合保護されたディレクトリー配下に各ユーザー名を持つhtmlファイルをユーザー数分だけ置いておかなければなりませんが。

holydevil
質問者

お礼

ありがとうございました。 REMOTE_USERとはどのような認証方式をクリアしたユーザなんですか?UNIXで作成したユーザでしょうか? .htaccessファイルによる認証をクリアしたユーザはREMOTE_USERにセットされるのでしょうか?

  • natural
  • ベストアンサー率37% (419/1115)
回答No.1

ユーザー認証を使用するのであれば話は簡単です。 保護されたディレクトリー配下に直接参照させるCGIを置いておきます。 そのCGIにアクセスするには当然ユーザーIDとパスワードが必要になります。 無事認証を通ってきたユーザーのユーザーIDはCGIのなかで環境変数REMOTE_USERで参照することが可能ですから、CGI内部で場合分けして該当するページへ飛ばしてやれば良いです。