2011-03-01 3 views
9

Я новичок в CouchApp и CouchDB и задаю несколько вопросов.Сессия и безопасность в CouchApp/CouchDB?

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

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

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

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

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

ответ

11

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

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

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

Ян имеет отличный пост около CouchDB security.

+0

так, по крайней мере, у меня должно быть 2 базы данных в одной сети, не так ли? .. спасибо за url –

+2

Да, даже одна база данных на пользователя (плюс одна база данных для общедоступных вещей) - очень разумное приложение Couch. Несколько баз данных не проблема. – JasonSmith

+0

@JasonSmith - будет ли поддержка миллионов миллионов для миллионов пользователей? – rbp

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