在Laravel 4中使用Sentry清除用户密码

时间:2014-06-07 14:44:27

标签: laravel laravel-4 cartalyst-sentry

我试图清除用户的密码,因此旧密码变得无用,用户必须选择一个新密码,但如果我尝试设置null或空密码我获得:

Cartalyst \ Sentry \ Users \ PasswordRequiredException
A password is required for user [mickeymouse], none given.

这是我的代码,任何想法?感谢

// clearing the user's password
$user->password = null;
$user->save ();

$code = $user->getPasswordResetCode ();
// ...send code by email

1 个答案:

答案 0 :(得分:1)

您可能可以更改数据库并允许它可以为空() - 但我不认为这是一个好主意。几乎每个与密码相关的函数都会假设数据库中有一些东西需要比较。

因此,不要尝试复杂的东西 - 只需将密码更改为随机的东西 - 并且您已经取得了相同的结果:

$user->password = str_random(60);
$user->save ();

现在他们的密码没用了:)