Ошибка, создающая пользователя в CouchDB 1.0

Моя система является человечностью 10.04, и мне установили CouchDB 1.0. Я могу создать администратора или больше администраторов, войти в систему как администратор, и все хорошо работает.

С тех пор 0.11 в CouchDB существует понятие пользователей, которые не являются администраторами и могут иметь мелкомодульные права на базы данных. Я хочу создать такого пользователя. Я открываю Futon, я не зарегистрирован, и я нажимаю на ссылку "Signup" (правый нижний угол). Затем существует вопрос об имени пользователя и пароле. Когда я заполняю форму и отправляю его, под полем "Username" существует очень длинное сообщение об ошибке:

Ошибка регистрации: {gen_server, звоните, [couch_query_servers, {get_proc, {документ, <<" _design / _ автор">>, {1, [<<84,165,145,147,156,145,146,42,53,239,238,7, 235 44 58 114>>]}, {[{<<"язык">>, <<"JavaScript">>}, {<<"validate_doc_update">>, <<" \n функция (newDoc, oldDoc, userCtx) {\\n если ((oldDoc && oldDoc.type! == 'пользователь') || newDoc.type! == 'пользователь') {\\n бросок ({запрещенный: 'doc.type должен быть пользователем'}); \n}//мы только позволяем пользовательские документы для now\n\n если (newDoc. _ удалил === верный), {\\n//позволяют, удаляет администраторами и соответствием users\n//, не проверяя другой fields\n если ((userCtx.roles.indexOf (' _admin')! ==-1) ||\n (userCtx.name == oldDoc.name)) {\\n возврат; \n} еще {\\n бросок ({запрещенный: 'Только администраторы могут удалить другие пользовательские документы'.}); \n }\\n }\\n\n, если (! newDoc.name) {\\n бросок ({запрещенный: 'doc.name требуется'}); \n }\\n\n, если (! (newDoc.roles && (typeof newDoc.roles.length! == 'неопределенный'))) {\\n бросок ({запрещенный: 'doc.roles должен быть массивом'}); \n }\\n\n, если (newDoc. _ идентификатор! == ('org.couchdb.user': + newDoc.name)) {\\n бросок ({\\n запрещенный: 'Идентификатор документа должен иметь форму org.couchdb.user:name '\n}); \n }\\n\n, если (oldDoc) {//проверяют весь updates\n если (oldDoc.name! == newDoc.name) {\\n бросок ({запрещенный: 'Имена пользователей не могут быть изменены'.}); \n }\\n }\\n\n, если (newDoc.password_sha &&! newDoc.salt) {\\n бросок ({\\n запрещенный: 'У пользователей с password_sha должна быть соль'. + \n 'Видят / _utils/script/couch.js, например, кодируют. '\n}); \n }\\n\n, если (userCtx.roles.indexOf (' _admin') ===-1) {\\n, если (oldDoc) {//проверяют неадминистратора updates\n если (userCtx.name! == newDoc.name) {\\n бросок ({\\n запрещенный: 'Можно только обновить собственный пользовательский документ. '\n}); \n }\\n//проверяют роль updates\n var oldRoles = oldDoc.roles.sort (); \n var newRoles = newDoc.roles.sort (); \n\n, если (oldRoles.length! == newRoles.length) {\\n бросок ({запрещенный: 'Только _admin может отредактировать роли}); \n }\\n\n для (var i = 0; я <oldRoles.length; я ++) {\\n, если (oldRoles [я]! == newRoles [я]) {\\n бросок ({запрещенный: 'Только _admin может отредактировать роли}); \n }\\n }\\n} еще, если (newDoc.roles.length> 0) {\\n бросок ({запрещенный: 'Только администратор может установить роли}); \n }\\n }\\n\n//никакие системные роли в пользователях db\n для (var i = 0; я <newDoc.roles.length; я ++) {\\n, если (newDoc.roles [я] [0] ==='') {\\n бросок ({\\n forbidden:\n 'Никакие системные роли (запускающийся с подчеркивания) в пользовательском дб. '\n}); \n }\\n }\\n\n//никакие имена системы как names\n, если (newDoc.name[0] ===' _') {\\n бросок ({запрещенный: 'Имя пользователя не может запуститься с подчеркивания'.}); \n }\\n }\\n">>}]}, [], ложь, []}, {<<" _design / _ автор">>, <<"1-54a591939c91922a35efee07eb2c3a72">> }}]}

Что это? Как я могу создать пользователей в CouchDB?

5
задан amorfis 11 August 2010 в 07:37
поделиться