2010-09-10 32 views
50

में नियमित उपयोगकर्ताओं को बनाना CouchDB में नियमित, गैर-व्यवस्थापक उपयोगकर्ताओं को कैसे बना सकता हूं?CouchDB

+1

आपको इस विकी लेख में रुचि हो सकती है। http://wiki.apache.org/couchdb/How_to_create_users_via_script – user2247543

+0

नामकरण नियम क्या हैं? मुझे कहीं भी जवाब नहीं मिल रहा है। क्या उपयोगकर्ता नाम ईमेल पता हो सकता है? – Costa

उत्तर

16

CouchDB विकी CouchDB के security features और कैसे के बारे में एक संक्षिप्त लेख एक "पाठक" जो क्या एक संबंधपरक डेटाबेस में एक उपयोगकर्ता जैसा दिखता है कॉन्फ़िगर करने के लिए है।

+3

यह सही है। आईडीनिल के सवाल का संक्षिप्त जवाब है, "_users' डेटाबेस में एक दस्तावेज़ बनाएं।" हालांकि आपका लिंक सभी विवरण और प्रभाव बताता है। – JasonSmith

-10

मुझे लगता है कि आपको कई साइटें करने के तरीके के सामने एक वेब ढांचा डालना होगा। Couchdb व्यवस्थापक भूमिका रिकॉर्ड आधार पर रिकॉर्ड पर काम नहीं करती है, इसलिए यदि आप एक पाठक बनाते हैं जो प्रोफाइल या खाता तालिका पढ़ सकता है तो वे रिकॉर्ड पढ़ सकते हैं।

76

सबसे पहले आप उपयोगकर्ता को _users डेटाबेस में डाल दिया। दस्तावेज़ की आईडी org.couchdb.user:username होनी चाहिए, उदा।

CouchDB 1.2.0 या बाद में इस का उपयोग करें:

{ 
    "_id": "org.couchdb.user:dbreader", 
    "name": "dbreader", 
    "type": "user", 
    "roles": [], 
    "password": "plaintext_password" 
} 

CouchDB सर्वर साइड पर आप के लिए & नमक पासवर्ड हैश जाएगा और खेतों password_sha और salt (देखें नीचे) में मूल्यों को बचाने के।

CouchDB < 1.2.0 उपयोगकर्ता दस्तावेज़ इस तरह दिखेगा की जरूरत के साथ

:

{ 
    "_id": "org.couchdb.user:dbreader", 
    "name": "dbreader", 
    "type": "user", 
    "roles": [], 
    "salt": "54935938852dd34f92c672ab31e397cedaf0946d", 
    "password_sha": "42253ea4461a604f967813aaff90b139d7018806" 
} 

ध्यान दें कि CouchDB 1.3.0 और बाद पासवर्ड hashing के लिए अहा & नमक के बजाय PBKDF2 का प्रयोग करेंगे।

फिर आप विशिष्ट डेटाबेस में id _security के साथ दस्तावेज़ बनाकर प्रति डेटाबेस प्रमाणीकरण बना सकते हैं जो संस्करण नहीं है, उदा।

{ 
    "admins": { 
     "names": ["dbadmin"], 
     "roles": ["editor"] 
    }, 
    "readers": { 
     "names": ["dbreader"], 
     "roles": ["reader"] 
    } 
} 

इसका मतलब यह है वहाँ व्यवस्थापक dbadmin और dbreader के अलावा हैं कि _users में 2 उपयोगकर्ताओं। ऐसा करना चाहिए यदि आप पहले से सुझाए गए दस्तावेज़ को पढ़ने के लिए बहुत आलसी हैं।

+0

मुझे नामकरण सम्मेलनों का पता लगाना प्रतीत नहीं होता है। उपयोगकर्ता नाम क्या हो सकता है इस पर कोई प्रतिबंध है? उपसर्ग org.couchdb.user के अलावा: – Costa

+0

इसलिए जब आप उन्हें स्टोर करते हैं तो उपयोगकर्ता पासवर्ड हर किसी के द्वारा देखे जाते हैं? और उन्हें कैसे हैश करने के लिए? – astroanu

+0

@astroanu: आप इसे स्पष्ट पाठ में पोस्ट, हाँ, लेकिन जब यह सर्वर से वापस आप के लिए आता है (और हर अनुरोध उसके बाद प्राप्त), यह केवल पासवर्ड कि लौट आए हो जाता है की नमकीन और टुकड़ों में बांटा संस्करण है। – MidnightLightning

 संबंधित मुद्दे