Сеанс и безопасность в CouchApp / CouchDB? - PullRequest
9 голосов
/ 01 марта 2011

Я новичок в CouchApp и CouchDB и у меня есть несколько вопросов.

  1. Как я могу создавать сессии в CouchApp из моей собственной базы данных (не _users )?
  2. Как мне получить этот сеанс?
  3. Как я могу разобрать данные из документа?

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

В моей базе данных у меня есть такой документ:

{  
   "_id": "...",  
   "_rev": "...",  
   "XDocType": "user",  
   "name": "Administrator",  
   "password": "1234",  
   "username": "admin"
}

Я хочу сделать простой вход / регистрация / выход с сеансами, а не с файлами cookie.

1 Ответ

11 голосов
/ 01 марта 2011

Сеанс менее важен с приложением Couch, потому что все приложение выполняется в клиенте (браузере). CouchDB выполняет только следующее:

  • Аутентификация (пользователь может подключиться с помощью пароля или получить cookie для идентификации позже)
  • Авторизация (CouchDB разрешает или запрещает чтение или запись данных, в зависимости от имени пользователя и ролей, а также объекта базы данных _security и validate_doc_update функций.

Вы можете изменить базу данных по умолчанию для учетных записей пользователей (вместо _users), однако у вас всегда должна быть база данных пользователей. Вы можете установить _security базы данных, чтобы анонимные пользователи не могли получить к ней доступ. (Однако новые пользователи не могут легко зарегистрироваться, поэтому это компромисс.)

У Яна отличный пост о CouchDB security .

...