http://models.example.com/*
のすべてのリクエストを書き直したいhttp://models.example.com/handler.php?requested_url=*
次に、変数をhandler.php
チェックして$_SESSION
、ユーザーがログインしているかどうかを確認します。ユーザーがログインしている場合は、にhandler.php
リダイレクトしrequested_url
ます。
ユーザーがログインしていない場合は、handler.php
正規表現を使用してrequested_url
、とパーミッションルールの配列(ruleList.php
)の間の一致を検索します。handler.php
ログインしていないユーザーにアクセスを許可するルールがあることがわかった場合は、requested_url
にリダイレクトrequested_url
されます。それ以外の場合は、ログインページにリダイレクトされます。
私の問題はこれです:最初のリクエストとリダイレクトをどのように区別しますか?(無限ループを回避するため)。のような変数を追加できます&already_processed=true
が、それは完全に安全ではありません。
mod_authを使用しますが、問題は、Webサイトの管理パネル(ruleList.php
)を介してアクセス許可を設定できるようにすることです。パーミッションルールは複雑になる可能性があり、それらを設定する人はサーバーのhttpd.confファイルをいじくり回す必要はありません。mod_authのもう1つの問題は、変更にはサーバーのリセットが必要になることです。
この件についてのご意見をいただければ幸いです。