2013-04-14 13 views
16

अक्षम करें मैं अपने उल्का ऐप से पंजीकरण अक्षम करना चाहता हूं। मैं खातों-यूई स्मार्टपैकेज का उपयोग कर रहा हूं।उल्का पंजीकरण

Accounts.config({ 
    var forbidClientAccountCreation = true; 
}) 

लेकिन मेरे अनुप्रयोग सर्वर क्रैश हो जाता है:

मैं इस कोशिश की। मैं इसे कैसे ठीक करूं?

यह एक सार्वभौमिक जेएस फ़ाइल का उपयोग कर रहा है, क्लाइंट के लिए नहीं और सर्वर के लिए एक।

उत्तर

41

Accounts.config एक पैरामीटर लेता है जो जावास्क्रिप्ट हैशप है। आप इसे सही ढंग से लिखना चाहिए:

Accounts.config({ 
    forbidClientAccountCreation : true 
}); 
+1

इसके अलावा, इसकी सुरक्षा के बारे में भी। क्या मैं सिर्फ जेएस फ़ाइल संपादित नहीं कर सकता और खाता प्राप्त नहीं कर सकता? –

+0

आपका मतलब क्लाइंट पर है? – mquandalle

+0

हाँ, मैं नहीं चाहता कि लोग इसे संपादित करें और फिर जादुई रूप से पंजीकरण करें: \ –

1

बस कंसोल पर अगले टाइप करें:

Accounts._loginButtonsSession.set('inSignupFlow', true); 

और आप फिर से पंजीकरण फार्म देखेंगे।

Accounts.validateNewUser(function (user) { 
    return false 
}); 
18

मैं सिर्फ इस में भाग लिया है और यहाँ जवाब पूरी तरह से स्पष्ट नहीं हैं:

मैं क्या सर्वर पर उपयोगकर्ता निर्माण के सत्यापन को रोकने के लिए इस प्रकार थी। स्वीकृत उत्तर ओपी के लिए काम करता है क्योंकि वह एक एकल जेएस फ़ाइल का उपयोग कर रहा है, लेकिन यदि नहीं, तो client और server फ़ोल्डरों के बाहर फ़ाइल में निम्न कोड रखें।

Accounts.config({ 
    forbidClientAccountCreation : true 
}); 

कारण यह है कि ग्राहक पर इसे चलाने "साइन अप" लिंक और पाठ छिपा है, और सर्वर पर चल रहा है वास्तव में से बनाया जा रहा नए उपयोगकर्ता खातों को ना करे होगा की accounts-ui सुविधा ट्रिगर किया जाएगा है।

यदि आप इसे केवल क्लाइंट पर चलाते हैं, तो लिंक और टेक्स्ट छुपाए जाएंगे लेकिन आप अभी भी ब्राउज़र के कंसोल के माध्यम से खाता बना सकते हैं।

यदि आप इसे केवल सर्वर पर चलाते हैं, तो खाता निर्माण हमेशा असफल रहेगा लेकिन आपको अभी भी संबंधित लिंक और टेक्स्ट मिलेंगे।

कोड के लिए एक अच्छी जगह lib फ़ोल्डर में है, क्योंकि उस फ़ोल्डर में कुछ भी सर्वर और क्लाइंट दोनों पर उल्का द्वारा संसाधित किया जाएगा, और किसी अन्य फ़ोल्डर से पहले भी। उदाहरण के लिए, आप इसे lib/environment.js में रख सकते हैं।

+0

मैंने कोड को/config फ़ोल्डर में रखा है लेकिन यह 'त्रुटि:' negidClientAccountCreation 'को एक से अधिक बार सेट नहीं कर सकता ' – Gobliins

+1

यदि आप' useraccounts' का उपयोग कर रहे हैं, तो आपको अपनी विधि कॉल करनी होगी, क्योंकि वे पहले ही कॉल कर चुके हैं 'Accounts.config' आंतरिक रूप से, https://github.com/meteor-useraccounts/core/issues/25 – ianmartorell

+0

देखें मैं इस सब का उपयोग कर रहा हूं लेकिन अब मुझे यह समस्या मिलती है: 'त्रुटि: साइनअप रूट कॉन्फ़िगर किया गया है लेकिन forbidClientAccountCreation सत्य पर सेट है!'मैं इस मार्ग को कैसे सेट अप कर सकता हूं और केवल तभी सेट कर सकता हूं जब क्लाइंट अकाउंट्रेशन गलत पर सेट हो? – Gobliins