2015-07-31 5 views
6

Art der installierten Sentinel (i sagen Art, weil ich ein Teil nicht verstehen, der sagt:Laravel: Authentifizierung immer Sentinel Registrierung zu tun, loggen usw. Einfach Fragen

Sentinel Schiffe mit Standardimplementierungen für belichten/Datenbank, um stellen Sie sicher, es auf Ihrem composer.json Datei, um es zu verwenden, benötigen.

// importieren Sie die erforderlichen Klassen

use Cartalyst\Sentinel\Native\Facades\Sentinel; 
use Illuminate\Database\Capsule\Manager as Capsule; 

// Fügen Sie den Komponisten automatisch geladen Datei

require 'vendor/autoload.php'; 

Frage 1: Wo schreibe ich diesen Code?

Frage 2: Was mir am meisten am Herzen liegt, ist, wie man etwas in Bezug auf Registrierung, Aktivierung usw. daraus macht. Ich hätte erwartet, dass ein Link erstellt wird, der an deine E-Mail gesendet wird und wenn du darauf klickst es. Aber alles, was ich sehen kann, ist das:

Ich soll das in den Controller schreiben, wenn ich den Eingang bekomme? und was ist mit der E-Mail-Aktivierung?

+0

Dies ist für L4 helfen aufstehen und laufen, aber es ist ein gutes Beispiel dafür, wie das Paket Sentinel zu verwenden: https://github.com/cartalyst/demo-sentinel – daviestar

Antwort

4

Der folgende Code:

use Cartalyst\Sentinel\Native\Facades\Sentinel; use Illuminate\Database\Capsule\Manager as Capsule;

ist für Menschen, die versuchen, das Paket nativ zu verwenden. Da Sie Laravel verwenden, brauchen Sie das nicht. Bitte beachten Sie die laravelspezifischen Anweisungen.

Da Sie in Ihrer Frage laravel-5 markiert haben, nehme ich an, dass dies das ist, was Sie verwenden. In diesem Fall fügen Sie diese zuerst mit Ihrem composer.json: composer require cartalyst/sentinel "2.0.*" und die folgenden Ihre config/app.php Datei:

Zum $providers Array: 'Cartalyst\Sentinel\Laravel\SentinelServiceProvider',

Und die $alias~ array:

'Activation' => 'Cartalyst\Sentinel\Laravel\Facades\Activation', 'Reminder' => 'Cartalyst\Sentinel\Laravel\Facades\Reminder', 'Sentinel' => 'Cartalyst\Sentinel\Laravel\Facades\Sentinel',

Sobald Sie dies getan haben, können Sie das Paket veröffentlichen und migrieren. Sie müssen auch Cartalyst\Sentinel\Users\EloquentUser auf Ihrem Benutzermodell anstelle von Eloquent erweitern. Sie müssen dasselbe tun, wenn Sie ein "Rollen" -Modell verwenden.

Weitere Informationen folgen in der Dokumentation: https://cartalyst.com/manual/sentinel/2.0#laravel-5

stellen Sie sicher auf die richtige Version lautet: 2.0 für Laravel 5 und 1,0 für Laravel 4. *

In Bezug auf Ihre zweite Frage, werden Sie müssen eine E-Mail an den Client mit dem Aktivierungscode senden (normalerweise ist der Code als Abfragezeichenfolge oder etwas verborgen, damit der Benutzer nicht unbedingt davon wissen muss) und dann die Aktivierung mit dem Code . Oder wenn Sie bevorzugen, können Sie sich automatisch authentifizieren, sobald sie sich anmelden.

Lesen Sie mehr auf activation on their documentation, wenn Sie immer noch nicht herausfinden können, wir sind hier, um zu helfen, aber versuchen Sie es selbst zuerst.

4

LERNEN SENTINEL Authentifizierungs-, Autorisierungs- PAKET wirklich TOTAL ANFÄNGER RUNNING:

https://github.com/rydurham/Sentinel/blob/master/readme.md

Es ist das Autor. Wenn Sie nach den Anweisungen einer anderen Site installiert hatten, sollten Sie Ihre Installation entfernen und das Composer-Update erneut ausführen, um alle Sentinel-Spuren zu entfernen.

Installieren Sie folgende Ryan Durham Schritte. (Sie sind mindestens gültig ab dem Datum, das ich poste).

Sobald Sie das tun, werden Sie feststellen, dass bereits vordefinierte Blade-Seiten vorhanden sind. Sie können zur ersten Registrierung gehen und Ihre Daten eingeben (nachdem Sie Ihre DB- und Mail-Parameter natürlich vorher konfiguriert haben).

Auch bei der Mail.php in der neuesten Version von Laravel gibt es einen Parameter geändert im Vergleich zu früheren Versionen: der eine über Verschlüsselung. In meinem Fall musste ich es einrichten, wie es in der Vergangenheit war, einfach:

'Verschlüsselung' => 'ssl' und nicht als 'Verschlüsselung' => env ('MAIL_ENCRYPTION', $ _ENV [ 'MAIL_ENCRYPTION ‚]

im zweiten Fall wird es nicht möglich sein, Ihren E-Mail-Server zu verbinden.

das sagt ja, dass Sentinel hat bereits die Pre-gebaut. Wenn Sie das Anmeldeformular ausfüllen, Du wirst sehen, dass du zur Datenbank hinzugefügt, aber immer noch nicht aktiviert bist. Dann wirst du in deinem Postfach den Link haben, über den ich gesprochen habe. Klicke darauf und dein Konto wird aktiviert.

+1

Ich glaube nicht, dass er sich auf Rydurham Sentinel bezieht (was eine alte Implementierung von Sentry 2 für Laravel ist, sondern Sentinel, was früher [Cartalysts Premium-Paket] war (https: //cartalyst.com/manual/sentinel/2.0) und wurde vor kurzem opensourced. Sentinel 2 ist veraltet und nicht unterstützt und sollte nicht verwendet werden. – Victor

+0

Hallo Victor. Vor einer Woche habe ich es installiert von Ryan Durham genau dort, wo der Link angezeigt wurde. Es funktioniert gut für mich. Meinst du, dass das, was ich benutze, nicht unterstützt und veraltet ist? – patricio

+1

Hallo Patricio. Wenn Sie Senty 2 verwenden, dann ja. Cartalyst hat vor einiger Zeit Sentry 2 entwickelt und aus Sentry 3 wurde Sentinel. Bis vor kurzem war Sentinel ein Teil von Cartalysts Arsenal (das du bezahlen musst, aber kürzlich haben sie es geöffnet). Das Paket von Ryan Durham hat den gleichen Namen, aber es ist eigentlich eine Integration zwischen Sentry 2 und Laravel. Obwohl es sich um ein OpenSource-Projekt handelt, wird Sentry 2 nicht mehr offiziell gepflegt und Sie werden wahrscheinlich keine Sicherheitsupdates erhalten, es sei denn, das Paket durham/sentinel selbst wird aktualisiert. – Victor

3

Werfen Sie einen Blick auf dieses Paket:
https://github.com/srlabs/centaur
es wird Sie mit cartalyst/sentinel

+1

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert – slfan

+0

danke @slfan – YassinMK