Я хочу использовать Sentry2 в моем приложении Laravel 4, но я не уверен, как использовать его для проверки представленных пользователем данных, прежде чем я буду взаимодействовать с ним. В моих собственных моделях я бы написал массив $rules
, чтобы содержать правила проверки и написать статический метод validates()
, который я мог бы вызвать в контроллере.Проверка с использованием Sentry2 в Laravel 4
Но с Sentry2, как это сделать? Должен ли я расширять модель User, которую Sentry2 предоставляет и использует для этого? Или есть способ, которым Sentry позволяет мне добавлять правила проверки с его расширением?
Если я продлить Sentry2 модель пользователя, я продлить его следующим образом:
/app/models/User.php
class User extends \Cartalyst\Sentry\Users\Eloquent\User {
private static $rules = array(...);
public static validates($input, static::$rules) {...};
}
Я тогда нужно создать свой собственный config, вместо того, чтобы использовать тот, который предоставляет Sentry. Я следующий в ремесленника:
php artisan config:publish cartalyst\sentry
и обновить конфигурационный файл, как так:
/app/config/packages/cartalyst/sentry/config.php
'users' => array()
'model' => 'User',
;
Это правильно? Если да, позвольте мне просто вызвать модель для проверки данных, представленных пользователем, как обычно? Так, например, в UserController я бы проверил ввод, выполнив:
$validator = User::validate(Input::all());
я собирался использовать часовые 2 для моей новой системы проверки подлинности веб-сайта. Его довольно прохладно, однако я заметил, что система проверки показалась немного странной. Вы должны использовать блоки try catch, чтобы вылавливать разные исключения. Все это в документации, посмотрите на создание нового пользователя. Он показывает вам, что вам нужно. – mic
Ознакомьтесь с этим для справки. https://github.com/rydurham/L4withSentry?files=1 – SamSquanch
это зависит от того, что вы хотите проверить. Вероятность того, что вам вообще не нужен часовой, или если вы даже нуждаетесь в нем, это возможно, не расширяя его. – itachi