Аутентификация пользователя без прав администратора на couchDB - PullRequest
2 голосов
/ 01 сентября 2011

Я немного на веревке с couchdb.Я хотел бы выставить свою базу данных в Интернете.Итак, что я узнал и что очевидно, так это то, что администрация не является хорошей идеей.

Поэтому я планирую создавать непривилегированных пользователей для каждой базы данных, которым разрешено выполнять CRUD-документы в рамках одной базы данных.CouchDB будет прокси-сервером Apache2 через SSL.

До сих пор я создавал пользователей, создавая документы в _users.

Пользовательский документ выглядит следующим образом:

{
   "_id": "org.couchdb.user:xxx",
   "_rev": "1-0eb034d6789ff52f8c1a414510983108",
   "type": "user",
   "name": "xx",
   "roles": [
       "xxx"
   ],
   "password_sha": "xxx",
   "salt": "xxx"
}

Я создал HTML-форму, которая фактически уже работала для пользователей-администраторов.HTML-форма отправляет учетные данные в /_session.

<!-- language-all: lang-html -->
<FORM action="http://example.com:5984/_session" method="POST" name="logonForm">
<INPUT type="hidden" name="destination" value="http://excample.com:5984/_session">
<p >Benutzername:<br><INPUT type="text" id="name" name="name" size="28" maxlength="256"></p>
<p >Kennwort:<br><INPUT type="password" autocomplete="off" id="password" name="password" size="28" maxlength="256">&nbsp;&nbsp;
<INPUT type="submit" value="Anmelden" >
</FORM>

Как уже упоминалось, это уже работает для администраторов, но не для обычных пользователей в /_users.

Права доступа предоставляются в базе данныхоснованный на роли.

Кто-нибудь знает, что пошло не так?

1 Ответ

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

Наконец я нашел ошибку:

Это был неправильный состав (без соли) хеш SHA1: - (

Очень хорошую документацию можно найти здесь Обзор функций безопасности

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