2011-09-01 54 views
2

我有點與couchdb的繩子。我想將我的數據庫暴露給互聯網。所以我學到了什麼,明顯的是,adminparty不是個好主意。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

如果表單工程管理用戶,那麼它也應該爲非特權用戶工作,這是你的第一個問題需要解決,你能提供更多關於登錄表單的細節,以及爲什麼它可能適用於管理員,但不是非特權用戶?謝謝! – JasonSmith

+0

我沒有看到表單。您能否更新您的問題並在那裏添加?謝謝! – JasonSmith

+0

對不起,有過我插入HTML代碼的問題。我更新了這個問題。 – Randy

回答

0

終於讓我找到的錯誤:

這是一個錯誤的gererated(無鹽)SHA1哈希:-(

一個非常好的文檔可以在這裏找到Security Features Overview

相關問題