0

基本認証とModRewriteを使ってログイン制限エリアを実装しようとしています。リファラーページがエクストラネットまたはログインページ内にない限り、リクエストに認証が必要になる可能性があるため、リクエストをログインページに転送するというロジックを試みています。次に、ユーザーがすでに認証されている場合、要求は要求された URL に自動的に転送されます。

次の書き換えルールで上記を達成しようとしていますが、ユーザーが認証された後、たまたまリファラーなしでリクエストが送信された後、リクエストは書き換えルールとログインページからのリダイレクトの間のループに陥ります。

ここで私が間違っていることは誰にも分かりますか?

よろしく、

オリ

RewriteCond %{HTTP_REFERER} !^/extranet/(.*)$ [NC]    
RewriteCond %{HTTP_REFERER} !^/extranet_login.html [NC]    
RewriteRule ^/extranet/(.*)$ /extranet_login.html?url=%{REQUEST_URI} [L,R,NC] 
4

1 に答える 1

0

最後にそれを理解しました。

問題は、すでに認証されているユーザーのログイン ページで response.sendDirect を実行していたことです。これは、リファラーが存在しないことを意味していました。ページが完全にロードされた後にJavaScriptでリダイレクトを行うと、これが修正され、リファラーが得られます。

オリ

于 2012-11-13T08:00:24.310 に答える