Настройка аутентификации и авторизации в Apache2 с MySQL
Я пытаюсь настроить Apache2, чтобы я мог использовать MySQL для аутентификации пользователей для доступа к определенным страницам. Также должна работать авторизация, чтобы разные группы могли открывать разные страницы.
Я много гуглил, но не могу понять, как это сделать. По крайней мере, не для конфигурации, которую я имею. Кажется, что нет никакой версии mod_auth_mysql, которая поддерживает мою конфигурацию.
OSX 10.6.4
Apache 2.2
Теперь, как мне добиться этого, не создавая свое собственное приложение для входа в php, а используя встроенную поддержку Apache2? Я полностью застрял на этом...
Заранее спасибо!
С уважением, Никлас
3 ответа
Я также хотел бы использовать страницу входа taylormade, а не всплывающее окно
....
Как мне добиться этого, не создавая свое собственное логин-приложение в php, а используя встроенную поддержку Apache2
Короткий ответ: ты не можешь. Если вы не переписываете исходный код Apache или не создаете свой собственный модуль, вы не можете смешивать HTTP-аутентификацию с не всплывающими подсказками для входа.
Однако если вы используете PHP, то решение с относительно низкой эффективностью будет заключаться в том, чтобы использовать автоматическое добавление префикса для каждой защищенной страницы с проверкой сеанса пользователя. Очевидно, что потребуется немного больше подумать, если его применить к файлам, отличным от исходных файлов PHP (это будет прекрасно работать, если вы скажете Apache применить механизм php, скажем, к файлам.gif, но ваш сценарий должен будет обнаружить и вернуть соответствующий тип пантомимы).
Более простое решение может заключаться в том, чтобы поместить инструмент, такой как squid, перед веб-сервером в качестве обратного прокси-сервера, а затем сделать данные обработки сеанса доступными для squid-rewriter.
Вы можете собрать mod_auth_mysql из исходного кода. Посмотрите на этот пост.
Если вам нужна собственная страница входа, вы не можете использовать Apache для аутентификации.
Аутентификация Apache использует часть аутентификации стандарта HTTP, и в результате вы используете браузер для взаимодействия с пользователем. Существуют плагины (например, mod_auth_mysql) для использования базы данных в качестве бэкэнда для этого, но Apache не может запросить у пользователя свои учетные данные другим способом.
Самым быстрым подходом может быть установка Drupal или Joomla, которая обеспечит вам управление пользователями и группами, а также полное редактирование контента, так, чтобы вы могли контролировать, кто что может редактировать.