Таблица привилегий MySQL, доступ из PHP для использования в другой базе данных?

Я создаю приложение PHP, привязанное к базе данных на основе MySQL под названием «cc». Для поиска привилегий пользователя (или группы пользователей) в моей базе данных необходимо, чтобы приложение подключалось к базе данных «mysql» только для доступа к своим таблицам User и DB, или я должен реплицировать структуру этих таблиц в моей базе данных, поэтому приложению нужно только подключиться к нему?

Или приложение должно использовать одного пользователя db-admin для SQL от всех пользователей приложения и строго контролировать их привилегии через код? Это позволит избежать необходимости искать привилегии для каждого пользователя (или каждого типа пользователя), но нарушает принцип сохранения доступа к БД до минимума, необходимого пользователю.


person Steve Eklund    schedule 14.03.2014    source источник
comment
Я не понимаю, что вы спрашиваете. Возможно, вам следует немного объяснить свой дизайн.   -  person Mike    schedule 14.03.2014


Ответы (2)


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

Затем ваше приложение управляет пользователями, использующими приложение. Вы можете написать этот код самостоятельно или использовать фреймворк, например Symfony.

person Mikpa    schedule 14.03.2014
comment
Я думаю, что слишком усложнял вещи. Вот то, что я думаю, может сработать - обратная связь приветствуется. - person Steve Eklund; 15.03.2014

Я думаю, что слишком усложнял вещи. Вот то, что я думаю, может сработать - обратная связь приветствуется. 1. Пользователь приложения отправляет идентификатор пользователя и пароль. (Это приложение предназначено для внутреннего персонала, поэтому только администратор приложения создает пользователей.) 2. Приложение подключается к БД через соединение для проверки подлинности с доступом только к таблице «Пользователи», чтобы определить уровень разрешений пользователя. 3. Приложение повторно подключается к БД как предопределенный пользователь БД с соответствующими разрешениями. Имеет ли это смысл?

person Steve Eklund    schedule 14.03.2014