larasoft / password-expirable
处理用户密码到期。
2.0
2023-08-24 11:53 UTC
Requires
- php: ^8.0
- illuminate/support: ^9.18|^10.0
- schuppo/password-strength: ~2.7
Requires (Dev)
- phpunit/phpunit: >=5.4.3
- squizlabs/php_codesniffer: ^2.3
This package is not auto-updated.
Last update: 2024-09-19 17:49:03 UTC
README
密码强度具有以下特性
- 它允许您设置用户密码的到期时间并发送重置电子邮件。
- 版本 1.0 用于 Laravel 5.1.x - 5.5.x
- 版本 2.0 支持 Laravel 9.x & 10.x
安装
通过 Composer (v1.0)
$ composer require larasoft/password-expirable:1.0
通过 Composer (v2.0)
$ composer require larasoft/password-expirable
您必须在 config/app.php 中包含服务提供者
'providers' => [ ... Larasoft\PasswordExpiry\PasswordExpiryServiceProvider::class, ],
您需要迁移您的数据库。
php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Larasoft\PasswordExpiry\PasswordExpiryServiceProvider" --tag="config"
发布后,config/password-expiry.php 配置文件包含
return [ // # of Days: After which user password gets expired and user should receive password reset email/notification 'expiry_days' => 2, // Expiry message to send in password email/notification 'expiry_message' => 'It has been over :number days since you reset your password. Please update it now.', 'strong_password_rules' => 'case_diff|numbers|letters|symbols' ];
您可以根据需要更改它。
用法
- 在用户模型中包含以下特质
use PasswordExpirable;
- 您可以得到 "当前用户对象上设置密码的日期时间" 的 Carbon 实例
$user->getCurrentPasswordSetTime();
- 您可以检查用户密码是否已过期?
$user->isPasswordExpired();
- 您可以通过在 app/Http/Kernel.php 中添加以下中间件并应用于所需路由来保护您的路由免受过期密码用户的影响。您可以按需更改名称 'check-password-expired'。
protected $routeMiddleware = [ ... 'check-password-expired' => CheckPasswordExpired::class ]
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG
测试
$ composer test
贡献
有关详细信息,请参阅 CONTRIBUTING 和 CODE_OF_CONDUCT
安全
如果您发现任何安全问题,请通过:author_email 发送电子邮件,而不是使用问题跟踪器。
致谢
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件