2013-04-14 20 views
16

Desidero disattivare la registrazione dalla mia app Meteor. Sto usando gli account-ui smartpackage.Disabilitare la registrazione della meteorologia

ho provato questo:

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

ma i miei crash del server app. Come posso risolvere questo?

Questo sta utilizzando un file JS universale, non uno per client e uno per server.

risposta

41

Accounts.config accetta un parametro che è un javascript hashmap. Si dovrebbe scrivere in modo corretto:

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

Inoltre, sulla sicurezza di questo. Non potrei semplicemente modificare il file JS e ottenere un account? –

+0

Vuoi dire, sul client? – mquandalle

+0

Sì, non voglio che le persone lo modifichino e poi registrino magicamente: \ –

1

Basta digitare prossimo su console:

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

e vedrete di nuovo il modulo di registrazione.

Quello che ho fatto è stato quello di evitare che la convalida della creazione dell'utente sul server come segue:

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

Ho appena imbattuto in questo e le risposte qui non sono del tutto chiare. La risposta accettata funziona per l'OP perché sta utilizzando un singolo file JS, ma in caso contrario, inserire il seguente codice in un file all'esterno delle cartelle client e server.

Accounts.config({ 
    forbidClientAccountCreation : true 
}); 

La ragione è che in esecuzione sul client attiverà la funzione accounts-ui di nascondere i "Sign up" link e testo, e in esecuzione sul server effettivamente vietare nuovi account utente vengano create.

Se lo si esegue solo sul client, i collegamenti e il testo saranno nascosti ma è comunque possibile creare un account tramite la console del browser.

Se lo si esegue solo sul server, la creazione dell'account fallirà sempre, ma si otterranno comunque i collegamenti e il testo associati.

Un buon posto per il codice è nella cartella lib, perché qualsiasi cosa in quella cartella verrà elaborata da Meteor sia sul server che sul client, e anche prima di qualsiasi altra cartella. Ad esempio, puoi inserirlo in lib/environment.js.

+0

ho inserito il codice nella cartella/config ma ho ricevuto questo 'Errore: impossibile impostare 'forbidClientAccountCreation' più di una volta ' – Gobliins

+1

Se si sta utilizzando 'accountaccount', è necessario chiamare il proprio metodo, poiché già chiamano 'Accounts.config' internamente, vedere https://github.com/meteor-useraccounts/core/issues/25 – ianmartorell

+0

Sto usando questo allright ma ora ho questo problema:' Errore: route di iscrizione configurata ma forbidClientAccountCreation impostato su true!'Come posso evitare di impostare questo percorso e impostare questa rotta solo quando clientaccountcreation è impostato su false? – Gobliins

Problemi correlati