2013-03-27 2 views
0

Я настроил основное имя пользователя и пароль аутентификацию для обычных пользователейпозволяют один IP для доступа с базовой аутентификацией

я хочу только один доступ Ip с одним именем и паролем

, например пользователем один подключение с test и test , если пользователь все еще подключается к серверу с базовой аутентификацией, а пользователь 2 запрашивает доступ к серверу с тем же именем пользователя и паролем, пользователь 2 не может получить доступ к серверу до тех пор, пока пользователь не отключится от сервера.

+0

Когда вы считаете, что сеанс пользователя закончился? – chelmertz

+0

Я не понимаю вашего значения, когда пользователь отключается от сервера (например, когда закончил загрузку файла) – Cooper

+0

взгляните на [этот вопрос] (http://stackoverflow.com/questions/3164507/allow-one-session -одно-в-время), может быть, это даст вам несколько советов. В конце концов вы увидите, что единственный способ добиться этого - заменить «.htaccess» на механизм блокировки. – ducin

ответ

2

Это невозможно при базовой HTTP-аутентификации, поскольку HTTP не имеет активных соединений, которые дольше, чем время передачи всех данных для одной страницы или изображения. Если все данные переданы, соединение прекращается. Должно ли это подходящее время, чтобы позволить второму пользователю? Если да, ограничьте ваш apache одновременным подключением только одного соединения (т. Е. Разрешите только один дочерний процесс), и все будет готово.

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

И, кстати, помните, что базовая аутентификация HTTP не имеет возможности «выйти из системы»! Все решения, которые имитируют это, действительно посылают браузеру другую проверку подлинности, что заставляет забыть о логине и снова запрашивать у пользователя учетные данные. Это невозможно реализовать с помощью .htaccess.

+0

, если я ограничу свой apache, только один пользователь может получить доступ в одно и то же время, я хочу, чтобы каждый пользователь мог получить доступ, и их блокировку сеанса к их ip, так что другой не может получить доступ с одним и тем же пользователем, а pass и diff ip, например, пользователь 1 загрузить b большой файл с 1 соединением, пользователь 2 с тем же самым пропуском пользователя не сможет получить доступ к серверу до завершения загрузки. любая идея, как это сделать? – Cooper

+0

Да, и это невозможно с .htaccess - реализовать его в своем программном обеспечении. – Sven

+0

вы говорите, я перенаправляю все подключение к php-странице и проверяю пользователя, если пользователь может получить доступ, отправить файл для загрузки? Является ли это возможным? – Cooper

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