サイトの一部に共通のIDおよびパスワードで簡易的なアクセス制限を設定する方法について

2018年9月26日 at 12:43

サイトの一部にごく簡易的な会員向けページを作成することになりました。
http://example.com/member/ 以下のみアクセス制限を設定するようなイメージです。

1. 会員数は2,000名程度
2. IDおよびパスワードはすべて共通
3. 会員に必要な権限は閲覧のみ(パスワード再発行やプロフィール管理などの機能は不要)
4. 会員向けページでの掲載画像にも同様のアクセス制限を設定


会員全員を登録しグループに紐づけて表示権限を付与する方法ですと、要件2を満たせそうにありません。
要件1につきましてもユーザーを一括インポートする手段がないと登録の工数が大きくなりそうです。

こちらでは会員全員が同じアカウントを使用しログインするという方法で実現されているようです。
http://concrete5-japan.org/community/forums/usage/post-6802/
この方法でも不具合やパフォーマンスが落ちる等の問題は特に生じないと考えて良いのでしょうか。

会員向けページのURLにBASIC認証を設定するという方法も考えられます。
concrete5へのログインが不要になるとキャッシュの機能も利用できそうですが、concrete5の機能への影響が心配です。
このような運用をされている方がおられましたら、手順や注意点などご教示いただけますと助かります。


よろしくお願いいたします。


# concrete5 バージョン
8.4.2

# PHP バージョン
7.2.6

# サーバー
エックスサーバー

タグ:

Re: サイトの一部に共通のIDおよびパスワードで簡易的なアクセス制限を設定する方法について

2018年9月28日 at 13:24
同じアカウントでの手法か、もしくはパスワードだけならこういうアドオンもあります。
ページごとですが。
http://www.concrete5.org/marketplace/addons/page-password1
 

Re: サイトの一部に共通のIDおよびパスワードで簡易的なアクセス制限を設定する方法について

2018年9月28日 at 20:18
pictron様

このようなアドオンで実現されているのですね。
ご紹介いただきありがとうございました。

同じアカウントでログインすると、同時に編集モードを使用した際の「編集できません。」が表示されないことは確認できました。
本件で会員に付与されるのは表示権限のみですので、編集モードで衝突が起きるような心配はなさそうです。
他に問題がなければ1つのアカウントを会員全員で利用する方法でも良いのかもしれません。
 

Re: サイトの一部に共通のIDおよびパスワードで簡易的なアクセス制限を設定する方法について

2018年9月29日 at 0:05
1つのアカウントで行った際のリスクとしては、実績やデーターを取ろうと思った際にきちんと把握できない事でしょうね。
 

Re: サイトの一部に共通のIDおよびパスワードで簡易的なアクセス制限を設定する方法について

2018年10月1日 at 11:28
pictron様

多くのユーザーが同じアカウントでログインするようにはできていないと考えておりましたので、何らかの問題を生じるのではと心配しておりました。
こちらのフォーラムで運用実績があることも分かりましたので、ご指摘いただいたデメリットを共有しつつ引き続き検討してまいります。

要件4については類推しにくいURLではあるものの、直接アクセスすればページの表示権限に関わらず参照できることを手元の環境でも確認いたしました。
http://concrete5-japan.org/community/forums/chat/post-12390/
http://concrete5-japan.org/community/forums/beginner/post-4935/
本件では会員向けのフォトライブラリ(プレビューおよびダウンロード)の提供を想定しておりますので、この点についても相談しながら進めることになりそうです。

大変参考になりました。
ありがとうございました。
 

Re: サイトの一部に共通のIDおよびパスワードで簡易的なアクセス制限を設定する方法について

2018年10月9日 at 14:49
返事が遅くなりましたが、気がついたのでちょっと補足させてください。

concrete5 ではユーザーのアクセス元 IP アドレスが変わると、
誰かがアカウントを乗っ取られているかもしれないと判断し、
ログアウトさせる機能がついています。

ID & PW を共有して、複数人が複数箇所からアクセスできるようにすれば、
その config でその機能を無効化する必要があります。

こちらのブログ記事の設定ファイルを、/application/config/concrete.php に保存する必要があります。
http://concrete5.co.jp/blog/concrete5-load-balancer-session

ただし、concrete5 のセキュリティ対策の機能の一つを無効化することになります。
免責のアドバイスとして考慮ください。
 

Re: サイトの一部に共通のIDおよびパスワードで簡易的なアクセス制限を設定する方法について

2018年10月9日 at 20:42
Ueno様

補足いただきありがとうございます。
同じアカウントでログインした会員は、会員向けページを閲覧中にログアウトしてしまう可能性があるということですね。
ご案内いただいたinvalidate_on_ip_mismatchの無効化は全てのアカウントが対象のようですので、管理者などのアカウントでもセキュリティ機能のひとつを失うことになる旨を共有し、方針を慎重に検討したいと思います。

多くのユーザーが同じアカウントでログインする本件ではinvalidate_on_user_agent_mismatchの無効化も必要でしょうか。
http://concrete5-japan.org/help/5-7/recipes/config/

会員向けコンテンツの規模が当初より拡大しているため、サブドメインの別サイトにして丸ごとBASIC認証という選択も視野に入ってまいりました。
この方法が面倒は少なそうですが、2サイトに分割して制作・保守のコストが折り合うのか微妙なところです…。
 

Re: サイトの一部に共通のIDおよびパスワードで簡易的なアクセス制限を設定する方法について

2018年10月10日 at 10:53
jun さん

> 多くのユーザーが同じアカウントでログインする本件ではinvalidate_on_user_agent_mismatchの無効化も必要でしょうか。
>http://concrete5-japan.org/help/5-7/recipes/config/

そうですね。
invalidate_on_user_agent_mismatch の無効化も必要だと思います。
 

Re: サイトの一部に共通のIDおよびパスワードで簡易的なアクセス制限を設定する方法について

2018年10月11日 at 11:20
Ueno様

会員全員が共通のアカウントでログインする方法で具体的にどのような問題が生じるのか確認するため、IPアドレスの異なる環境から同じアカウントで同時にログインするケースを試してみました。
アドバイスいただいた機能の無効化は設定していない状態ですが、機能の働く条件を満たせていないのか、ログアウトしてしまうような状況は今のところ再現できておりません。
この方法を採用する場合は、再度検証してみようと思います。
ご回答ありがとうございました。