标签: laravel-guard

如何在 Laravel 中同时启用 api 和 web 防护

Laravel 5.7

PHP 7.2.10
Run Code Online (Sandbox Code Playgroud)

目前我可以使用 web 和 api 守卫中的任何一个,有什么方法可以同时使用两者,以便 web 应用程序和 api 可以一起工作。

就像是

return [

    /*
    |--------------------------------------------------------------------------
    | Authentication Defaults
    |--------------------------------------------------------------------------
    |
    | This option controls the default authentication "guard" and password
    | reset options for your application. You may change these defaults
    | as required, but they're a perfect start for most applications.
    |
    */

    'defaults' => [
        'guard' => 'api|web',
        'passwords' => 'users',
    ],
Run Code Online (Sandbox Code Playgroud)

如果不使用架构,是一个需要更改架构的解决方案/解决方法,这是我不喜欢的。此外,我不需要访问令牌进行注册,这个答案在做什么。

api.php

Route::group([
    'middleware' => 'api|web',
    'prefix' => 'auth'
], function …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-middleware laravel-5.7 laravel-guard laravel-jwt

7
推荐指数
1
解决办法
9771
查看次数

laravel微风多重身份验证 - 具有两个不同注册的管理员卫士

我使用Laravel Breeze作为身份验证脚手架包。我想使用Laravel Guards为两种用户类型(管理员、用户)的两种不同注册表单创建多重身份验证。

我想要实现的主要想法:

我在数据库中有两个表,一个用于管理员,另一个用于用户,我想要实现的是,如果管理员选择将帐户注册为管理员,它将显示一个包含管理员指定字段的注册表单。之后,我想检查用户是否以管理员身份登录,或者如果以管理员身份登录,则将他/她重定向到专为管理员创建的指定仪表板。

它可以很好地注册,但无法以管理员身份登录,这里是我想要实现的目标的简单解释:

应用程序\模型\Admin.php

<?php

namespace App\Models;

use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;

class Admin extends Authenticatable
{
    use HasFactory, Notifiable;
    protected $table = 'admins';
    protected $fillable = [
        'name',
        'email',
        'password',
    ];
Run Code Online (Sandbox Code Playgroud)

配置\auth.php

<?php

return [
   
    'defaults' => [
        'guard' => 'web',
        'passwords' => 'users',
    ],

   
    'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],

        'api' => [
            'driver' => …
Run Code Online (Sandbox Code Playgroud)

php authentication laravel-guard laravel-8 laravel-breeze

4
推荐指数
1
解决办法
6740
查看次数