imnpc / laravel-admin-login-check-safe
登录添加验证码,后台用户锁定,错误次数过多锁定,密码强制修改,添加密码修改记录,登录日志
dev-master
2024-01-02 03:25 UTC
Requires
- php: >=7.0.0
- encore/laravel-admin: ~1.6
- mews/captcha: ^3.0.0
- predis/predis: ^1.1
Requires (Dev)
- phpunit/phpunit: ~6.0
This package is auto-updated.
Last update: 2024-05-01 00:17:39 UTC
README
#laravel-admin extension
laravel-admin-login-check-safe
填加以下内容
- 登录验证码
- 登录达到配置次数,禁止登录一段时间(可配置)
- 账号密码有有效期,过期禁止登录(配置排除账号名)
- 添加账号禁用,账号禁用后不能登录,如果账号正在使用,会被强制退出登录
- 修改密码添加修改记录
- 添加登录记录
- 限制账号同时使用
- 限制账号不活动达到配置时间后,自动退出
执行步骤如下
- 在项目目录执行以下命令
composer require iamtong/laravel-admin-login-check-safe php artisan vendor:publish --provider=Encore\LoginCheckSafe\LoginCheckSafeServiceProvider
- 需要修改 config/admin.php extensions里面添加
//登录验证码/用户锁定 'login-check-safe' => [ 'enable' => true, 'login-error-num' => 5,//登录允许密码错误的次数 'login-error-limit-sec' => 600,//达到错误次数后锁定的时间(单位秒) 'password-expired' => 90*86400,//密码过期时间 90 天(单位秒) 'password-expired-except-name' => ['admin'],//排除账号不验证密码过期 'auto-out-sec' => 1800,//多久没活跃后,自动退出账号(单位秒),设置为0时,表示不开启此功能 'limit-one-login' => true,//是否开启 限制同时间一个账号仅限一人登录 'username-rules' => 'regex:/^[a-zA-Z0-9]+$/i|between:3,40',//用户名除了唯一性和必须填写之外的所有规则 'username-rules-msg' => [ 'regex' => '用户名必须以大小写字母和数字组成', ],//对应的提示方法 'password-strong' => 1,// 【大写字母 小写字母 数字 特殊字符】 密码强度 必须使用其中的几种。 'password-length' => '6,40',//密码长度范围 10,40 10到40位; 'db' => [ //密码修改纪录表 'password_log_table' => 'admin_password_log', 'password_log_model' =>Encore\LoginCheckSafe\Models\PasswordLogModel::class, //登录日志表 'login_log_table' => 'admin_login_log', 'login_log_model' =>Encore\LoginCheckSafe\Models\LoginLogModel::class, ] ],
执行数据库文件
php artisan migrate
然后在 route.middleware里面添加 Encore\LoginCheckSafe\Http\Middleware\AdminCheck::class 如下:
'middleware' => ['web', 'admin',Encore\LoginCheckSafe\Http\Middleware\AdminCheck::class],