2014-10-08 4 views
1

Как вы получаете доступ к информации о текущем пользователе при навигации по приложению с помощью базы данных CouchDB? Мне нужна эта информация для запроса правильных данных для каждого запроса и т. Д. Например, в Rails обычно используется фильтр before, который задает переменную current_user с каждым запросом.Получение текущей информации пользователя от CouchDB?

После успешного запуска сеанса с POST to/_session я попробовал следующее, как это было предложено документами CouchDB, но он не возвращает полный пользовательский документ по электронной почте и другим полям, которые мне нужны.

GET /_session 

Я также попытался запросить документ пользователя по id следующим образом, но я получаю сообщение об ошибке.

GET /_users/org.couch.user:<name> 

Ошибка:

{ error: not_found, reason: missing } 

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

+0

То, что вы делаете, правильно. Просто убедитесь, что - это тот же человек, для которого вы уже создали сеанс ранее. Например: если вы сделали запрос на сеанс для лица «ядро», используйте этот url '/_users/org.couch.user: '. Ошибка, которую вы получаете, может быть вызвана двумя причинами: 1) Пользователь не существует. 2) У человека нет достаточных привилегий для просмотра его деталей. Администратор может просматривать всех пользователей. Если пользователь может просматривать только свои данные. –

+1

Спасибо за помощь. Я объединил два запроса, чтобы получить полный пользовательский документ для текущего пользователя. –

ответ

1

Я получил эту работу путем объединения двух запросов следующим образом:

GET '/' _SESSION

GET '/_users/org.couch.user:' + responseFromFirst.userCtx.name

Смежные вопросы