В Symfony 2.0 мне нужно изменить БД для конкретного пользователя, пока он не выйдет из системы, но код тот же.Использование другой базы данных при входе пользователя в систему
Возможно ли это?
В Symfony 2.0 мне нужно изменить БД для конкретного пользователя, пока он не выйдет из системы, но код тот же.Использование другой базы данных при входе пользователя в систему
Возможно ли это?
Возможно, но это не должно быть сделано так, как вы его описали.
Вам всегда потребуется соединение, которое не изменится: база данных, которая будет обрабатывать аутентификацию.
Тогда для каждого пользователя может быть определенная база данных. После входа в систему вы должны иметь данные учетной записи (данные базы данных), необходимые для подключения к базе данных пользователя.
После того, как вы его, используйте один из методов, описанных в
Посмотрите: Symfony 2 : multiple and dynamic database connection
Это должно быть довольно просто.
PS: Вместо постоянного соединения вы также можете иметь пользователей, прошедших проверку подлинности другим сервером в среде единого входа - это расширенная тема. После этого данные соединения базы данных пользователя должны быть получены с этого сервера.
Заканчивать Symfony2, Dynamic DB Connection/Early override of Doctrine Service
Это небольшое дублирование других, но конкретно с использованием запросом Params, и ответ содержит более подробную информацию в этом подключение услуг. Не уверен, что это полезно по сравнению с другим ответом, но все равно проверьте его.
Я не думаю, что это отличный дизайн db, если вам нужно изменить базу данных, если пользователь вошел в систему. –