2015-03-05 3 views
0

Я занимаюсь разработкой веб-сайта с областью пользователей и уровнями пользователей. члены admin могут получить доступ к области, где они могут просматривать, добавлять и изменять некоторые конфиденциальные данные.Принудительная повторная аутентификация пользователя на symfony

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

Как могу я сделай это ? в symfony doc я ничего не нашел о второй аутентификации пользователей.

ответ

1

Что вы ищете здесь IS_AUTHENTICATED_REMEMBERED против IS_AUTHENTICATED_FULLY. Если вы помните мне функциональность, вы можете установить, что сеанс истекает через 30 минут до часа (или какой-либо промежуток времени, который, как вы считаете, в порядке). Когда сеанс разыгрывается, в областях администрирования, если вы проверяете подлинность полностью, они будут попросили войти в систему, если они посещают какое-либо место с более низким баром (например, с подтверждением подлинности), они все равно будут отображаться. Это в основном то, что делает амазонка, когда вы пытаетесь получить доступ к странице настроек пользователя. Конечно, вы вошли в систему и можете добавлять вещи в свою корзину, но как только вы попытаетесь получить доступ к своим конфиденциальным данным, вы должны повторно зарегистрироваться.

+0

. Я полностью с вами ... Это путь. – Nickolaus

+0

Также, как я уже упоминал, вы можете вручную аннулировать токен – Nickolaus

+0

. Я думаю, этот метод должен быть отлично, спасибо вам обоим. –

0

Я хотел бы избежать второй аутентификации ... Я лучше работать со слоями ограничения (ролей пользователей) ... В FOSUserBundle уже предоставляет всю необходимую функциональность

+0

Я уже использую роли пользователей, но я хотел добавить вторую аутентификацию, потому что, поскольку люди могут хранить свой пароль в браузере, каждый пользователь может получить доступ к компьютеру с правами администратора и доступом к конфиденциальным данным. Кроме того, если администратор перейдет на общедоступный компьютер и забудьте выйти из системы, следующий пользователь получит доступ к запрещенной зоне без ввода пароля. –

+1

Вы можете установить аутентификационный токен недействительным после определенного тайм-аута ... потому что со вторым уровнем входа у вас будут те же проблемы, что и вы, если вы просто вложите их – Nickolaus

+0

, вторая аутентификация предотвратит вторую проблему (пользователь забыл выйти), и если я поместил 'autocomplete =" off "на поля второй формы, браузер не должен заполнять форму –

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