Аутентификация с _session - PullRequest
       9

Аутентификация с _session

3 голосов
/ 12 сентября 2011

В настоящее время я пытаюсь использовать механизм сеанса couchdb. Я (ofc) прочитал: http://wiki.apache.org/couchdb/Security_Features_Overview и http://wiki.apache.org/couchdb/Session_API.

Но мне не удается войти в систему. Поэтому я немного побрел и нашел такие статьи, как http://guide.couchdb.org/draft/security.html и http://pierrel.posterous.com/securing-couchdb, а также несколько SO-тем.

Итак, вот что я сделал: Я создал свою базу данных пользователя и добавил пользователя (totolol: foobar):

{
   "_id": "org.couchdb.user:totolol",
   "_rev": "1-88709660d602783be794f99825849f96",
   "type": "user",
   "name": "totolol",
   "roles": [
       "foo"
   ],
   "password_sha": "c7912a8680385df682ba95db5b994e5e6ca0201d",
   "salt": "1b5889d58de6ba15c51ccf5914f6b58a"
}

Однако, как бы я ни пытался войти в систему:

 curl -vX POST http://org.couchdb.user:totolol:foobar@bachman:8889/_session
 curl -vX POST http://bachman:8889/_session -d 'name=totolol&password=foobar'
 ...

Я всегда получаю один и тот же результат, ответ 401 с этим сообщением:

{"error":"unauthorized","reason":"Name or password is incorrect."}

Я не знаю, что я делаю неправильно, возможно, мой конфиг сломан, но я застрял. Поэтому я надеюсь, что один из вас покажет мне, что делать. :)

Ответы [ 3 ]

0 голосов
/ 13 сентября 2011

Вы перепутали свое имя пользователя 'totolol' с документом _id 'org.couchdb.user: totolol'.

Это должно работать нормально, если вы используете 'totolol: foo @'.

0 голосов
/ 19 сентября 2011

Вы создали БД пользователей? CouchDB уже имеет базу данных "_users", если вы используете другую базу данных для пользователей, вам придется изменить соответствующий параметр в файле local.ini.

0 голосов
/ 13 сентября 2011

С curl используйте второй пример, который вы дали:

curl -X POST http://username:password@server:5984/_session -d 'name=totolol&password=foobar'

Это определенно правильная процедура. Я подтвердил это на CouchDB v1.1.0.

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