2010年8月6日金曜日

SOY CMSでアクセス制限 簡易(Baic)認証をつける方法

SOY CMSで会員限定ページなどに、アクセスに制限をかける方法です。
IDとPWを入力させる認証をつける際の手順。(備忘録)

ここでは、認証として利用されるapacheのベーシック認証方法をSOY CMSに組み込む方法を説明します。

まず、サンプルとして会員限定ページを作成します。

制限を設けるページはブログ形式で作成し、ブログページ全体の閲覧は、
認証が必要とします。


■ サーバー構成例
  • /home/****/www/ →ルートディレクトリ
  • /home/****/www/soycms/ →SOY CMSのディレクトリ
  • /home/****/www/site-id/member/
     →会員限定のページ(ブログで作成) かつ 実ディレクトリも作成
     ※site-idは、SOY CMSのサイトID
  • /home/****/www/site-id/member/.htaccess →認証設定ファイル
  • /home/****/.htpasswd →認証ユーザー&パスワードファイル
※ ****は、通常、サーバーのアカウント名など

■ 設定手順
  1. SOY CMSでブログページを作成
    ここでは、/home/****/www/soycms/member/
  2. 実際に、「member」のディレクトリも作成
    /home/****/www/soycms/member/
    ※通常、SOY CMSの管理画面だけでの操作だが、認証設定のため実ディレクトリも作成
  3. ユーザー&パスワードファイル「htpasswd_member」の用意
    ※実際のファイル名は、なんでもよい。
  4. ユーザー&パスワードファイル「.htpasswd」の作成

    http://www.shtml.jp/htaccess/make_htpasswd.html で、文字を生成

    ここでは、ユーザー:「テスト」 パスワード:「pass」 で作成。
    --------------------------------------------
    test:tenMJZbq6poBM
    --------------------------------------------

    配置場所: /home/****/.htpasswd

  5. 実ディレクトリ「member」直下に、「.htaccess」を作成
    --------------------------------------------
    AuthType Basic
    AuthName "Input your ID and Password."
    AuthUserFile /home/****/htpasswd_member 
    require valid-user
    --------------------------------------------

    配置場所: /home/****/www/site-id/member/.htaccess

  6. 実際にテスト
    /home/****/www/site-id/member/ へアクセスし、認証画面を確認する


以上になります。

開発元(?)のまめジョーさんが、別な切り口での認証取り付け方法も書かれています。

特定のURLにだけBasic認証をかける