Laravel: получение аутентификации Sentinel для регистрации, входа и т. д. простые вопросы

вид установленного часового ( я говорю вроде, потому что я не понимаю одну часть, которая говорит:

Sentinel поставляется с реализациями по умолчанию для illuminate / database, чтобы использовать его, убедитесь, что вы требуете его на своем композиторе.файл json.

// импортировать необходимые классы

use CartalystSentinelNativeFacadesSentinel;
use IlluminateDatabaseCapsuleManager as Capsule;

/ / включить файл автозапуска композитора

require 'vendor/autoload.php';

Вопрос 1: где я могу написать этот код ?

Вопрос 2: что меня больше всего волнует сейчас как сделать что-то из этого, о регистрации, активации и т. д. Я ожидал, что будет создана ссылка, которая отправляется на ваш адрес электронной почты, и при нажатии на нее вы активируете ее. Но все, что я вижу, говорит это:--4-->

$credentials = [
    'email'    => 'john.doe@example.com',
    'password' => 'password',
];

$user = Sentinel::register($credentials);

or if Also activate:

$credentials = [
    'email'    => 'john.doe@example.com',
    'password' => 'password',
];

$user = Sentinel::registerAndActivate($credentials);

Я должен написать это в контроллере, когда я получу вход ? а как насчет активации электронной почты ?

3 ответов


следующий код:

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

для людей, пытающихся использовать пакет изначально. Поскольку вы используете laravel, вам это не нужно. Пожалуйста, убедитесь, что вы следуете инструкциям laravel.

потому что вы пометили laravel-5 в вашем вопросе, я предполагаю, что это то, что вы используете. В таком случае сначала добавьте это к вашему композитору.формат JSON: composer require cartalyst/sentinel "2.0.*" и следующее для вашего config / app.файл php:

до $providers матрица: 'Cartalyst\Sentinel\Laravel\SentinelServiceProvider',

и $alias~ array :

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

после этого вы можете опубликовать и перенести пакет. Вам также нужно будет extendend Cartalyst\Sentinel\Users\EloquentUser на модель пользователя вместо красноречивого. Вам нужно будет сделать то же самое, если вы используете модель "роли".

для получения дополнительной информации следуйте документации:https://cartalyst.com/manual/sentinel/2.0#laravel-5

убедитесь, что вы находитесь на правильная версия: 2.0 для Laravel 5 и 1.0 для laravel 4.*

Что касается вашего второго вопроса, вам нужно будет отправить электронное письмо клиенту с кодом активации (обычно код скрыт как строка запроса или что-то еще, поэтому пользователю не обязательно знать об этом) и чем вы занимаетесь активацией с помощью кода. Или, если вы предпочитаете, вы можете автоматически аутентифицироваться после регистрации.

подробнее на активация на документация, если вы все еще не можете понять, мы здесь, чтобы помочь, но сначала попробуйте для себя.


ПОЛУЧЕНИЕ АУТЕНТИФИКАЦИИ SENTINEL - ПАКЕТ АВТОРИЗАЦИИ ДЕЙСТВИТЕЛЬНО РАБОТАЕТ ДЛЯ НАЧИНАЮЩИХ:

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

это сам автор. Если вы установили, следуя инструкциям любого другого сайта, Вам лучше удалить установку и снова запустить обновление composer, чтобы он избавился от любых следов sentinel.

установите следующие шаги Райана в Дарем. (они по крайней мере действуют с дату я пост).

Как только вы это сделаете, вы обнаружите, что уже созданы страницы blade. Вы можете Зарегистрироваться в качестве первого и ввести свои данные (предварительно настроив параметры БД и почты).

также, на почте.php в самой последней версии Laravel есть один параметр, измененный по сравнению с предыдущими версиями: тот, который касается шифрования. В моем случае мне нужно было установить его, как это было в прошлом, просто:

'' => 'протокол SSL' и не как 'encryption' = > env ('MAIL_ENCRYPTION', $_ENV ['MAIL_ENCRYPTION']

во втором случае он не сможет подключиться к почтовому серверу.

об этом говорили, Да, что страж уже имеет встроенные. После заполнения регистрационной формы вы увидите себя добавленным в базу данных, но все еще не активированным. Тогда в вашем почтовом ящике будет ссылка, о которой я говорил. Кликните по ней и ваш аккаунт будет активирован.


взгляните на этот пакет :
https://github.com/srlabs/centaur
это поможет вам встать и работать с cartalyst/sentinel