mjelamanov/laravel-auth-password

用于验证laravel认证用户的密码。

1.1.0 2020-12-08 16:03 UTC

This package is auto-updated.

Last update: 2024-09-08 23:46:49 UTC


README

Build Status StyleCI Latest Stable Version License

此包允许您验证认证用户的密码。对于laravel 6.0及以上版本,请使用原生密码规则

目录

要求

  • PHP 7.1或更高版本。
  • Laravel 5.8或6.0。

安装

composer require mjelamanov/laravel-auth-password

别忘了将以下翻译键添加到您应用的lang文件中。

// in resources/lang/en/validation.php

'auth_password' => 'The :attribute is not valid',

使用规则

通过RuleFactoryInterface创建规则实例。

// In your controller

use Illuminate\Http\Request;
use Mjelamanov\Laravel\AuthPassword\Rule\RuleFactoryInterface;

public function changeUserPassword(Request $request, RuleFactoryInterface $ruleFactory)
{
    $this->validate($request, [
        'current_password' => ['bail', 'required', 'min:6', $ruleFactory->createRule()],
        'new_password' => 'bail|required|string|min:6',
        'new_password_confirmation' => 'bail|required|confirmed',
    ]);

    // Passwords are valid. Place your logic here.
}

您可以指定不同的守卫名称。

$ruleFactory->createRule(); // default application's guard
$ruleFactory->createRule('web');
$ruleFactory->createRule('api');

// or custom guard
$ruleFactory->createRule('admin');

$ruleFactory->createRule('non-existen'); // Throws \InvalidArgumentException 

使用扩展

您也可以使用验证扩展。

// In your controller

public function changeUserPassword(Request $request)
{
    $this->validate($request, [
        'current_password' => 'bail|required|min:6|auth_password',
        'new_password' => 'bail|required|string|min:6',
        'new_password_confirmation' => 'bail|required|confirmed',
    ]);

    // Passwords are valid. Place your logic here.
}

您还可以指定不同的守卫名称。

'field' => 'auth_password', // default application's guard
'field' => 'auth_password:web',
'field' => 'auth_password:api',

// or custom guard
'field' => 'auth_password:admin',

'field' => 'auth_password:non_existen', // Throws \InvalidArgumentException