Как сказать zend_auth, какой пользователь вошел в систему - PullRequest
0 голосов
/ 12 августа 2011

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

Мне удалось создать весь процесс аутентификации oauth, и после успешной аутентификации в твиттере я могу получить имя пользователя в твиттере. После этого я выполняю поиск в своей таблице пользователей и нахожу пользователя с таким именем в Twitter (у меня есть столбец для него в моей базе данных).

Теперь у меня есть user_id вошедшего в систему пользователя, но как мне получить zend_auth, чтобы узнать, что этот пользователь вошел в систему? У меня есть система прав на основе ролей, которая хранится в базе данных, поэтому zend_auth_storage должен знать идентификатор пользователя, вошедшего в систему.

1 Ответ

2 голосов
/ 13 августа 2011

Вы должны записать строку пользователя в хранилище самостоятельно.

Zend_Auth::getInstance()->getStorage()->write($userRow);

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

...