


Erstellen eines benutzerdefinierten Login- und Registrierungsformulars mit Meteor
Key Takeaways
- Erstellen eines benutzerdefinierten Anmelde- und Registrierungsformulars mit Meteor beinhaltet die Installation des Account-Password-Pakets, mit dem automatisch ein Meteor.Users-Sammlung zum Speichern von Benutzerdaten erstellt wird, wodurch die maßgebliche Logik für benutzerbezogene Funktionen geschrieben werden muss.
- Die Benutzeroberfläche für das Anmeldungs- und Registrierungssystem kann mit einfachen HTML -Formularen entwickelt werden. Die Vorlagen für diese Formulare enthalten Felder für E -Mail und Passwort sowie eine Schaltfläche Senden.
- Ereignishandler können eingerichtet werden, um auf Benutzerinteraktionen mit den Formularen zu reagieren. Beispielsweise kann ein Ereignis „Sendenformular“ erstellt werden, um das Standardverhalten des Formulars zu verhindern und eine Bestätigungsnachricht auszugeben, wenn das Formular eingereicht wird. Die integrierten Methoden von
- Meteor wie Concontons.creatUser () und Meteor.loginwithPassword () können zum Registrieren neuer Benutzer und zur Anmeldung vorhandenen Benutzern verwendet werden. Diese Methoden verschlüsseln automatisch Passwörter und melden Sie sich nach der Anmeldung an, wodurch die Menge an Code reduziert wird, die geschrieben werden muss.

Basic Setup
Fügen Sie in einem neuen Meteor-Projekt das Account-Password-Paket hinzu, indem Sie den Befehl ausführen:meteor <span>add accounts-password</span>
Entwicklung der Schnittstelle
Für ein vollständiges Anmelde- und Registrierungssystem gibt es viele Funktionen, für die wir Schnittstellen erstellen müssen, einschließlich:- Registrierung
- Login
- Passwort vergessen
- "Bestätigen Sie Ihre E -Mail" -Seite
- "E -Mail bestätigt" Seite
meteor <span>add accounts-password</span>
<span><span><span><template</span> name<span>="register"</span>></span> </span> <span><span><span><form</span>></span> </span> <span><span><span><input</span> type<span>="email"</span> name<span>="registerEmail"</span>></span> </span> <span><span><span><input</span> type<span>="password"</span> name<span>="registerPassword"</span>></span> </span> <span><span><span><input</span> type<span>="submit"</span> value<span>="Register"</span>></span> </span> <span><span><span></form</span>></span> </span><span><span><span></template</span>></span></span>
<span><span><span><template</span> name<span>="login"</span>></span> </span> <span><span><span><form</span>></span> </span> <span><span><span><input</span> type<span>="email"</span> name<span>="loginEmail"</span>></span> </span> <span><span><span><input</span> type<span>="password"</span> name<span>="loginPassword"</span>></span> </span> <span><span><span><input</span> type<span>="submit"</span> value<span>="Login"</span>></span> </span> <span><span><span></form</span>></span> </span><span><span><span></template</span>></span></span>
Erstellen der Ereignisse
Im Moment sind unsere Formen statisch. Damit sie etwas tun können, brauchen wir sie, um auf das Submit -Ereignis zu reagieren. Lassen Sie uns dies demonstrieren, indem Sie sich auf die Vorlage "Register" konzentrieren. Schreiben Sie in der JavaScript -Datei des Projekts Folgendes:<span><span><span><head</span>></span> </span> <span><span><span><title</span>></span>Custom Registration Tutorial<span><span></title</span>></span> </span><span><span><span></head</span>></span> </span><span><span><span><body</span>></span> </span> {{#if currentUser}} <span><span><span><p</span>></span>You're logged in.<span><span></p</span>></span> </span> {{else}} {{> register}} {{> login}} {{/if}} <span><span><span></body</span>></span></span>
- antwortet auf das Submit -Ereignis
- hat kein Standardverhalten
- gibt eine Bestätigungsnachricht auf der Konsole aus
<span>if (Meteor.isClient) { </span> <span>Template.register.events({ </span> <span>'submit form': function(event) { </span> event<span>.preventDefault(); </span> <span>console.log("Form submitted."); </span> <span>} </span> <span>}); </span><span>}</span>
<span>Template.register.events({ </span> <span>'submit form': function(event){ </span> event<span>.preventDefault(); </span> <span>var emailVar = event.target.registerEmail.value; </span> <span>var passwordVar = event.target.registerPassword.value; </span> <span>console.log("Form submitted."); </span> <span>} </span><span>});</span>
Zusammenhänge zusammen
Nach dem Hinzufügen des Kontospassword-Pakets zum Projekt wurden uns eine Reihe von Methoden zur Verfügung standen:- Accocts.creatUser ()
- Accoces.ChangePassword ()
- contaces.forgotPassword ()
- conces.resetPassword ()
- contaces.setPassword ()
- Accoces.VerifyEMail ()
meteor <span>add accounts-password</span>
<span><span><span><template</span> name<span>="register"</span>></span> </span> <span><span><span><form</span>></span> </span> <span><span><span><input</span> type<span>="email"</span> name<span>="registerEmail"</span>></span> </span> <span><span><span><input</span> type<span>="password"</span> name<span>="registerPassword"</span>></span> </span> <span><span><span><input</span> type<span>="submit"</span> value<span>="Register"</span>></span> </span> <span><span><span></form</span>></span> </span><span><span><span></template</span>></span></span>
<span><span><span><template</span> name<span>="login"</span>></span> </span> <span><span><span><form</span>></span> </span> <span><span><span><input</span> type<span>="email"</span> name<span>="loginEmail"</span>></span> </span> <span><span><span><input</span> type<span>="password"</span> name<span>="loginPassword"</span>></span> </span> <span><span><span><input</span> type<span>="submit"</span> value<span>="Login"</span>></span> </span> <span><span><span></form</span>></span> </span><span><span><span></template</span>></span></span>
<span><span><span><head</span>></span> </span> <span><span><span><title</span>></span>Custom Registration Tutorial<span><span></title</span>></span> </span><span><span><span></head</span>></span> </span><span><span><span><body</span>></span> </span> {{#if currentUser}} <span><span><span><p</span>></span>You're logged in.<span><span></p</span>></span> </span> {{else}} {{> register}} {{> login}} {{/if}} <span><span><span></body</span>></span></span>
<span>if (Meteor.isClient) { </span> <span>Template.register.events({ </span> <span>'submit form': function(event) { </span> event<span>.preventDefault(); </span> <span>console.log("Form submitted."); </span> <span>} </span> <span>}); </span><span>}</span>
<span>Template.register.events({ </span> <span>'submit form': function(event){ </span> event<span>.preventDefault(); </span> <span>var emailVar = event.target.registerEmail.value; </span> <span>var passwordVar = event.target.registerPassword.value; </span> <span>console.log("Form submitted."); </span> <span>} </span><span>});</span>
Ausbleiben Sie
aus Benutzer können sich jetzt registrieren und sich anmelden, aber damit sie sich anmelden können, erstellen wir zunächst eine neue "Dashboard" -Schabelt, die angezeigt wird, wenn sie angemeldet sind:<span>Template.login.events({ </span> <span>'submit form': function(event) { </span> event<span>.preventDefault(); </span> <span>var emailVar = event.target.loginEmail.value; </span> <span>var passwordVar = event.target.loginPassword.value; </span> <span>console.log("Form submitted."); </span> <span>} </span><span>});</span>
<span>Accounts.createUser({ </span> <span>// options go here </span><span>});</span>
<span>Accounts.createUser({ </span> <span>email: emailVar, </span> <span>password: passwordVar </span><span>});</span>
<span>Template.register.events({ </span> <span>'submit form': function(event) { </span> event<span>.preventDefault(); </span> <span>var emailVar = event.target.registerEmail.value; </span> <span>var passwordVar = event.target.registerPassword.value; </span> <span>Accounts.createUser({ </span> <span>email: emailVar, </span> <span>password: passwordVar </span> <span>}); </span> <span>} </span><span>});</span>
Schlussfolgerungen
Wir haben mit einer winzigen Menge an Code viel Fortschritte gemacht, aber wenn wir eine vollständige Schnittstelle für das Kontensystem erstellen möchten, ist noch viel zu tun. Folgendes würde ich vorschlagen:- Aktivieren Sie die Überprüfung der E -Mails des neuen Benutzers.
- validieren Sie die Erstellung (und Anmeldung) von Benutzern.
- Fügen Sie den Formularen "Register" und "Login" visuelle Validierung hinzu.
- Machen Sie etwas, wenn ein Anmeldeber Versuch fehlschlägt. Erlauben Sie den Benutzern, ihr Passwort zu ändern.
- Es könnte einen Nachmittag dauern, um die Einzelheiten zur Implementierung dieser Funktionen herauszufinden. Basierend auf dem, was wir in diesem Tutorial behandelt haben, ist nichts davon außerhalb Ihrer Reichweite. Meteor macht die harte Arbeit für uns. Wenn Sie mit dem in diesem Artikel entwickelten Code spielen möchten, sehen Sie sich das von mir eingerichtete Github -Repository an.
Wie kann ich dem Registrierungsformular im Meteor zusätzliche Felder hinzufügen? Sie können das Benutzerprofil erweitern, indem Sie weitere Felder in der Methode der Konten hinzufügen. Wenn Sie beispielsweise ein Feld für den vollständigen Namen des Benutzers hinzufügen möchten, können Sie dies so tun:
conces.createuser ({
Benutzername: 'TestUser',
Passwort: 'Passwort ',
Profil: {
Fullname:' Test User '
}
}); Sie können später mit Meteor.user () auf dieses Feld zugreifen. Eingebaute Möglichkeit, das Erscheinungsbild des Anmelde-/Registrierungsformulars anzupassen. Sie können jedoch CSS verwenden, um das Formular entsprechend Ihren Anforderungen zu stylen. Sie können den Formularelementen Klassen zuweisen und diese Klassen dann in Ihrer CSS -Datei verwenden, um Stile anzuwenden. Alternativ können Sie eine UI-Bibliothek wie Bootstrap oder Material-UI verwenden, um Ihr Formular zu stylen. Sie können mit der Methode zur SendvericationEmail -Methode eine Überprüfungs -E -Mail an den Benutzer senden. Diese Methode nimmt die ID des Benutzers als Parameter an und sendet eine E -Mail mit einem Link, den der Benutzer klicken kann, um die E -Mail -Adresse zu überprüfen. Sie können diese Methode aufrufen, nachdem Sie einen neuen Benutzer wie folgt erstellt haben:
E -Mail: 'test@example.com',
Passwort: 'Passwort'}, Funktion (err, userId) {
if (err) {// Fehler
} else { concesS.SendVerificationEmail (userId);
}
});
Wie kann ich bei der Benutzerregistrierung im Meteor Fehler umgehen? mit einem Fehlerobjekt, wenn ein Fehler auftritt. Dieses Fehlerobjekt enthält Informationen darüber, was schief gelaufen ist. Sie können diese Informationen verwenden, um dem Benutzer eine entsprechende Fehlermeldung anzuzeigen. Hier ist ein Beispiel:
contaces.createuser ({
Benutzername: 'testuser',
Passwort: 'Passwort'
}, Funktion (err) {
if (err) {{{{{{
console.log ('Fehler während der Registrierung:', err);
}); Funktionalität im Meteor? Sie können die Konten verwenden. Die contaces.ForGotPassword -Methode sendet eine E -Mail an den Benutzer mit einem Link, den sie klicken können, um das Kennwort zurückzusetzen. Die Methode von Accocts.ResetPassword wird verwendet, um das Kennwort des Benutzers tatsächlich zu ändern. Es nimmt das Token vom Reset -Link und das neue Passwort als Parameter aus.
Wie kann ich meiner Meteor -Anwendung eine soziale Anmeldung hinzufügen? und Twitter über seine Account -Pakete. Um Ihrer Anwendung eine soziale Anmeldung hinzuzufügen, müssen Sie das entsprechende Paket hinzufügen (z. B. Account-FaceBook für Facebook-Login) und es mit den Anmeldeinformationen Ihrer App vom Social Provider konfigurieren.
Wie kann ich den Zugriff auf bestimmte Routen basierend auf der Benutzerauthentifizierung im Meteor einschränken? zur Benutzerauthentifizierung. Sie können überprüfen, ob ein Benutzer in Meteor.Userid () oder meteor.user () angemeldet ist, und sie dann auf die Anmeldeseite umleiten, wenn dies nicht erfolgt.
Wie kann ich zusätzliche Benutzerdaten in Meteor speichern
In Meteor können Sie zusätzliche Benutzerdaten im Benutzerdokument in der Sammlung meteor.users speichern. Sie können diesem Dokument zusätzliche Felder hinzufügen, wenn Sie einen neuen Benutzer mit Concontons.creatUser erstellen, oder Sie können ein vorhandenes Benutzerdokument mit zusätzlichen Daten mit Meteor.Users.Update aktualisieren.
Wie kann ich rollenbasierten Zugriff implementieren Steuerung im Meteor? Mit diesem Paket können Sie Benutzern Rollen zuweisen und diese Rollen dann überprüfen, wenn Sie entscheiden, ob ein Benutzer eine bestimmte Aktion ausführen darf.
Wie kann ich einen Benutzer im Meteor auszeichnen? Kann einen Benutzer im Meteor mit der Meteor.Logout -Methode anmelden. Diese Methode meldet den aktuellen Benutzer im Client an und macht das Anmeldepolizei auf dem Server ungültig. Es wird auch eine Rückruffunktion benötigt, die ohne Argumente aufgerufen wird, wenn der Abmeldungsprozess abgeschlossen ist.
Das obige ist der detaillierte Inhalt vonErstellen eines benutzerdefinierten Login- und Registrierungsformulars mit Meteor. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Häufig gestellte Fragen und Lösungen für das Ticket-Ticket-Ticket-Ticket in Front-End im Front-End-Entwicklungsdruck ist der Ticketdruck eine häufige Voraussetzung. Viele Entwickler implementieren jedoch ...

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

Es gibt kein absolutes Gehalt für Python- und JavaScript -Entwickler, je nach Fähigkeiten und Branchenbedürfnissen. 1. Python kann mehr in Datenwissenschaft und maschinellem Lernen bezahlt werden. 2. JavaScript hat eine große Nachfrage in der Entwicklung von Front-End- und Full-Stack-Entwicklung, und sein Gehalt ist auch beträchtlich. 3. Einflussfaktoren umfassen Erfahrung, geografische Standort, Unternehmensgröße und spezifische Fähigkeiten.

Diskussion über die Realisierung von Parallaxe -Scrolling- und Elementanimationseffekten in diesem Artikel wird untersuchen, wie die offizielle Website der Shiseeido -Website (https://www.shiseeido.co.jp/sb/wonderland/) ähnlich ist ...

Zu den neuesten Trends im JavaScript gehören der Aufstieg von Typenkripten, die Popularität moderner Frameworks und Bibliotheken und die Anwendung der WebAssembly. Zukunftsaussichten umfassen leistungsfähigere Typsysteme, die Entwicklung des serverseitigen JavaScript, die Erweiterung der künstlichen Intelligenz und des maschinellen Lernens sowie das Potenzial von IoT und Edge Computing.

Wie fusioniere ich Array -Elemente mit derselben ID in ein Objekt in JavaScript? Bei der Verarbeitung von Daten begegnen wir häufig die Notwendigkeit, dieselbe ID zu haben ...

Erforschen Sie die Implementierung der Funktion des Bedien- und Drop-Einstellungsfunktion der Panel ähnlich wie VSCODE im Front-End. In der Front-End-Entwicklung wird VSCODE ähnlich wie VSCODE implementiert ...

Unterschiedliche JavaScript -Motoren haben unterschiedliche Auswirkungen beim Analysieren und Ausführen von JavaScript -Code, da sich die Implementierungsprinzipien und Optimierungsstrategien jeder Engine unterscheiden. 1. Lexikalanalyse: Quellcode in die lexikalische Einheit umwandeln. 2. Grammatikanalyse: Erzeugen Sie einen abstrakten Syntaxbaum. 3. Optimierung und Kompilierung: Generieren Sie den Maschinencode über den JIT -Compiler. 4. Führen Sie aus: Führen Sie den Maschinencode aus. V8 Engine optimiert durch sofortige Kompilierung und versteckte Klasse.
