Аутентификация для приложения на основе браузера зависит от клиентского компьютера

Как сделать аутентификацию для приложения на основе браузера зависимой от клиентского компьютера? Скажем, администратор может войти только с этой машины.

Предположения: Существует полный контроль над сетью и всеми вовлеченными машинами (клиент и сервер).

Я ищу решение Apache / Linux.

13.12.2008 10:49:40
2 ОТВЕТА
РЕШЕНИЕ

Вам нужно придумать способ идентификации этой машины. Что важно в вашем приложении? Физическое местонахождение? Айпи адрес?

Если у вас есть полный контроль над машинами, я бы использовал SSL с клиентскими сертификатами и поместил сертификат клиента только на тот компьютер, который должен быть использован. Смотрите здесь для получения подробной информации о том, как настроить это с Apache

Как говорится в этой статье, вы можете настроить Apache для запроса сертификата, имени пользователя и пароля и ограничения подключения для определенных IP-адресов.

РЕДАКТИРОВАТЬ: вам не нужен отдельный веб-сервер для использования клиентских сертификатов.

Вам может понадобиться отдельный URL в зависимости от того, как работает ваше приложение.

Обратите внимание, что в примере настраиваются сертификаты только для определенного каталога

 <Directory "/www/hidden/docs">

, Поэтому используйте определенные классы входа пользователей по-разному или перенаправьте их после входа в защищенную сертификатами клиента часть вашего сайта

2
13.12.2008 12:45:15
Спасибо за ссылку. Я не прочитал полностью, но из вступления кажется, что руководство - это настройка «все или ничего». Мое требование - разрешить определенному классу пользователей входить из определенного места.
Shoan 13.12.2008 11:13:48
«... только определенные самозаверяющие пользовательские сертификаты для подключения к веб-серверу. Любой другой браузер подключается, будут отклонены». Нужно ли иметь отдельный веб-сервер для каждого типа пользователя для одного и того же приложения?
Shoan 13.12.2008 11:15:12
Добавил немного больше деталей в мой ответ
The Archetypal Paul 13.12.2008 11:52:23
Спасибо, Пол. Не будет ли другим недостатком то, что для этого потребуется то же количество IP-адресов, что и для типов пользователей?
Shoan 13.12.2008 12:02:47
Нет, если вы используете разные каталоги?
The Archetypal Paul 13.12.2008 12:26:31

Если вы беспокоитесь о злонамеренных попытках подделки клиентской рабочей станции в сети, вы можете изучить настройку IPSEC на клиенте и сервере, тогда вы можете просто использовать IP-адрес и считать его доверенным, то есть использовать стандартные методы Apache для управления доступ по IP.

Или, если вы считаете свою сеть надежной, просто дайте клиенту статический IP и используйте стандартные методы apache для ограничения доступа по IP.

Оба требуют некоторой работы администратора на сетевом уровне, но бонус в том, что вам не нужно менять приложение.

0
14.12.2008 01:55:37