2011-09-12 9 views
3

現在、couchdbの「セッション」メカニズムを使用しようとしています。私(ofc)はhttp://wiki.apache.org/couchdb/Security_Features_Overviewhttp://wiki.apache.org/couchdb/Session_APIを読みました。_sessionによる認証

しかし、私はログインしていないので、ちょっとさまよい、http://guide.couchdb.org/draft/security.htmlhttp://pierrel.posterous.com/securing-couchdbのような記事といくつかのSOスレッドが見つかりました。

だから、ここで私がやったことです: 私は私のユーザーDBを作成し、ユーザーを追加しました(totolol:foobarに):

{ 
    "_id": "org.couchdb.user:totolol", 
    "_rev": "1-88709660d602783be794f99825849f96", 
    "type": "user", 
    "name": "totolol", 
    "roles": [ 
     "foo" 
    ], 
    "password_sha": "c7912a8680385df682ba95db5b994e5e6ca0201d", 
    "salt": "1b5889d58de6ba15c51ccf5914f6b58a" 
} 

しかし、どんなに私がログインしようとする方法:

curl -vX POST http://org.couchdb.user:totolol:[email protected]:8889/_session 
curl -vX POST http://bachman:8889/_session -d 'name=totolol&password=foobar' 
... 
私はいつも同じ結果を得る

、このメッセージで401応答:

{"error":"unauthorized","reason":"Name or password is incorrect."} 

すると、私は自演していませんw私が間違っていること、おそらく私の設定が壊れているかもしれないが、私は立ち往生している。だから私はあなたの誰かが私に何をすべきか見せてくれることを願っています。 :) curl

+0

#couchdbの人々と話をした後、問題は私のインストール(私はかなり古いバージョンのcouchdbを持っています)と同じように見えます。 – rks

答えて

0

は、あなたが与えた第二の例を使用します。

curl -X POST http://username:[email protected]:5984/_session -d 'name=totolol&password=foobar' 

間違いなく正しい手順です。私はCouchDB v1.1.0でそれを確認しました。

0

ユーザー名「totolol」とドキュメント_id「org.couchdb.user:totolol」を混同しました。

「totolol:foo @」を使用するとうまくいくはずです。

0

ユーザDBを作成しましたか? CouchDBには既に "_users" DBがあります。ユーザーに別のDBを使用する場合は、local.iniファイルの適切なパラメータを変更する必要があります。