Попытка реализовать ограниченную область входа с помощью ModRewrite

Я пытаюсь реализовать ограниченную область входа в систему с использованием обычной аутентификации и 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] 

1 ответ

Разобрался в конце.

Проблема заключалась в том, что я выполнял response.sendDirect на своей странице входа в систему для уже аутентифицированных пользователей. Это означало, что не было реферера. Выполнение перенаправления в javascript после полной загрузки страницы исправляет это и дает мне реферер.

Олли

Другие вопросы по тегам