imnpc/laravel-admin-login-check-safe

登录添加验证码,后台用户锁定,错误次数过多锁定,密码强制修改,添加密码修改记录,登录日志

dev-master 2024-01-02 03:25 UTC

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],