【发布时间】:2013-08-30 18:28:21
【问题描述】:
我想在我的 Laravel 4 应用程序中使用 Sentry2,但我不确定如何在与它交互之前使用它来验证用户提交的数据。在我自己的模型中,我会编写一个 $rules 数组来包含验证规则,并编写一个可以在控制器中调用的静态 validates() 方法。
但是对于 Sentry2,我该怎么做呢?我是否必须扩展 Sentry2 提供的 User 模型并改为使用它?或者 Sentry 是否允许我添加验证规则并对其进行扩展?
如果我确实扩展了 Sentry2 User 模型,我是否像这样扩展它:
/app/models/User.php
class User extends \Cartalyst\Sentry\Users\Eloquent\User {
private static $rules = array(...);
public static validates($input, static::$rules) {...};
}
然后我需要创建自己的配置文件,而不是使用 Sentry 提供的配置文件。我在工匠中执行以下操作:
php artisan config:publish cartalyst\sentry
并像这样更新配置文件:
/app/config/packages/cartalyst/sentry/config.php
'users' => array()
'model' => 'User',
;
这是正确的吗?如果是这样,我是否只是像往常一样调用模型来验证用户提交的数据?因此,例如,在 UsersController 中,我会通过以下方式检查输入:
$validator = User::validate(Input::all());
【问题讨论】:
-
我打算将哨兵 2 用于我的新网站身份验证系统。它很酷但是我注意到验证系统似乎有点奇怪。您必须使用 try catch 块来捕获抛出的不同异常。它都在文档中,看看创建一个新用户。它向您展示了您的需求。
-
查看此内容以供参考。 github.com/rydurham/L4withSentry?files=1
-
这取决于您要验证的内容。机会是您根本不需要哨兵,或者即使您需要它,也可以在不扩展它的情况下实现。
标签: php laravel laravel-4 eloquent cartalyst-sentry