cakephp: отдельный доступ к базе данных для пользователей с правами администратора - PullRequest
2 голосов
/ 12 декабря 2010

Я использую cakephp для создания веб-приложения.В моем текущем проекте есть два пользователя базы данных, один для администратора, другой для пользователей сайта, как я могу настроить cakephp, чтобы администратор мог входить на сайт с большей мощностью работы базы данных?

Ответы [ 2 ]

3 голосов
/ 13 декабря 2010

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

var $default = array(
    'driver' => 'mysql',
    'persistent' => false,
    'host' => 'localhost',
    'login' => 'normaluser',
    'password' => '',
    'database' => 'db',
    'prefix' => '',
);

var $admin = array(
    'driver' => 'mysql',
    'persistent' => false,
    'host' => 'localhost',
    'login' => 'adminuser',
    'password' => '',
    'database' => 'db',
    'prefix' => '',
);

Затем вы можете использовать $this->ModelName->setDataSource('admin'), если пользователь находится в разделе администратора, или какое-либо условие, которое вы можете навязать.

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

0 голосов
/ 12 декабря 2010

наиболее надежным решением, вероятно, будет настройка списков контроля доступа (ACL).Это позволит вам делегировать разрешения в зависимости от назначенной вами роли пользователя.

Например, admin имеет идентификатор group_id, равный 1, а пользователи - group_id, равный 2. Затем вы можете разрешить администраторам иметь доступ к определенным операциям.в вашем веб-приложении.

Вот документация по этой функции.http://book.cakephp.org/view/1242/Access-Control-Lists

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...