Как внедрить контроль доступа в сервисный уровень приложения MVC? - PullRequest
6 голосов
/ 18 августа 2010

Я пишу приложение на основе Zend Framework, используя стандартную парадигму mvc с добавленным сервисным уровнем, чтобы заботиться о прикладной / бизнес-логике. Кажется довольно популярным использование контроля доступа в ваших службах, а не в ваших модулях / контроллерах / действиях, однако я видел только простые примеры со статическими ролями и разрешениями для этих ролей.

Мое приложение будет использовать динамический acl, позволяющий администратору добавлять роли и устанавливать разрешения для этих ролей. У меня два вопроса:

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

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 05 сентября 2010
...