У меня есть модель 'User'
, которая связана с моделью 'Group'
через отношения HABTM. Я могу запросить модель, чтобы определить, к каким членствам принадлежит аутентифицированный пользователь, но я не могу концептуально придумать способ легкого доступа к этим данным в вызове функции isAuthorized()
.Пользовательские разрешения от HABTM отношений
В идеале я надеюсь, что у меня есть способ связать метод аутентификации и кешировать членство в группе авторизованного пользователя, чтобы я мог быстро просмотреть вызовы isAuthorized()
. Есть ли какая-то функциональность в торте, которая позволит это? Я, очевидно, открыт для рекомендаций, поскольку я довольно новичок в структуре после наследования этого проекта от прошлого сотрудника.
Из того, что я смог собрать, я хотел бы иметь возможность доступа или поиска членов группы пользователей, возвращаемых AuthComponent::user()
, но поскольку это статический метод, я не получаю доступ к его модели. Это возможно?
EDIT: раствор представляет собой смесь из обсуждения я имел с РПС, а также выяснить, что приложение, казалось, нарушить проверку подлинности. Это может быть ошибка последнего разработчика, который создал приложение, но мне удалось его решить, переопределив часть BaseAuthenticate
. _findUser($username,$password)
Функция для наследования массива «Группа» вместе с массивом «Пользователь». Он запрашивался при входе в систему, но только часть «Пользователь» возвращалась обратно в контроллер, который назывался Auth.
Вы используете Cake 2.x, справа?Вы пытаетесь реализовать [настраиваемый объект авторизации] (http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html#creating-custom-authorize-objects)? – ndm
Я использую 2.x, но не думаю, что это пользовательский объект. Аутентификация пользователя, которую я использую, отлично работает и достигает всех моих целей, за исключением членства в группах. Мне нужен какой-то способ иметь глобальный доступ к модели «Пользователь» таким образом, чтобы я мог запрашивать группы пользователей на любом контроллере. – Grambot
А, хорошо, так что вам нужно, изнутри какого-либо контроллера, восстановить группы текущего пользователя? – ndm