2016-08-30 3 views
-1

У меня есть веб-приложение, размещенное на Azure, созданное в ASP.net, которое имеет страницу входа пользователя и отдельную страницу входа администратора. Используемая база данных - это MySQL. Недавно клиентом добавилось новое требование о том, что страница входа в систему администратора должна быть доступна только на одной машине, которая будет выделена клиентом, отличной от страницы входа пользователя, к которой может обращаться любой компьютер.Доступ к сайту Azure на одной машине

Одним из решений могло быть получение MAC-адреса клиентской машины и сравнение его с некоторой записью базы данных, но после многого поиска я обнаружил, что нет способа получить MAC-адрес клиентской машины, кроме, если клиент и сервер находятся в одной подсети. Но это не мое дело, поскольку веб-приложение размещено на лазурном изображении, а клиентская машина может быть в любой точке мира.

IP-адрес не может использоваться для ограничения доступа к админ-порталу, поскольку клиентский компьютер администратора находится на динамическом IP-адресе и может измениться. Также нельзя использовать сертификаты ssl, так как они будут ограничивать использование других пользовательских машин для входа пользователя.

Рабочий процесс будет таким, администратор открывает страницу в браузере на своей машине, и после предоставления информации для входа в систему будет проверяться, разрешен ли доступ к этой странице машине, разрешенной для доступа к порталу администратора или нет , Итак, можно ли каким-либо образом добиться этого, чтобы позволить администратору войти только на одну машину?

+0

Существует несколько способов идентификации клиентской машины. Например, вы можете использовать клиентский сертификат или, альтернативно, его IP-адрес. Пожалуйста, прочитайте [ask] и поделитесь своими исследованиями. – CodeCaster

+0

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

ответ

0

Решение может быть записью DB для вашего администратора. Таким образом, когда администратор войдет в портал администратора, вы обновите запись для администратора как «вошедшую в систему». Затем вы можете проверить каждый логин, если администратор уже вошел в систему.

+0

Даже если я реализую это, администратор сможет войти через любую машину, просто используя этот веб-адрес и информацию для входа, даже если это первый раз. Моя проблема заключается в том, чтобы запретить вход в систему администратора только на одной машине. –

+0

Это зависит от того, как вы настраиваете свою архитектуру, вам нужно указать форму входа в систему, в которой не удалось войти в систему администратора, потому что уже кто-то вошел в систему как администратор. – wuerzelchen

+0

Да, это ограничивает, что администратор может войти в систему один раз, и пока этот сеанс продолжается, администратору снова не разрешат войти в систему, но моя проблема заключалась в том, чтобы запретить администратору входить в систему только с одной машины, даже если это несколько раз или несколько браузеров. –

Смежные вопросы