Dalam Laravel, bagaimana untuk melaksanakan pemacu pangkalan data dan pengesahan pembekal tanpa menggunakan cara yang elegan
P粉043566314
P粉043566314 2023-08-28 09:14:37
0
1
417
<p>Pemandu yang disokong oleh Laravel ialah "<strong>pangkalan data</strong>" atau "<strong>fasih</strong>" Dalam lalai <strong>config/auth.php</strong> kita dapat melihat bahawa ia sentiasa menyatakan bahawa pemandu adalah fasih. </p> <pre class="brush:php;toolbar:false;">``` /* |------------------------------------------------ ------------------------ | |------------------------------------------------ ------------------------ | |. Semua pemacu pengesahan mempunyai pembekal pengguna. Ini mentakrifkan bagaimana data pengguna sebenarnya diambil daripada pangkalan data atau mekanisme storan lain. | |. Jika anda mempunyai berbilang jadual atau model pengguna, anda boleh mengkonfigurasi berbilang sumber yang mewakili setiap model/jadual. Sumber-sumber ini kemudiannya boleh diberikan kepada mana-mana perlindungan pengesahan tambahan yang anda tentukan. | |. Disokong: "pangkalan data", "fasih" | */ 'penyedia' => 'pengguna' => 'pemandu' => 'faham', 'model' => AppModelsUsers::class, ], // 'pengguna' => // 'driver' => 'database', // 'jadual' => 'pengguna', // ], ], ```</pre> <p>Kemudian kami mempunyai skema <strong>Pengguna</strong> yang dikaitkan dengan pengguna jadual untuk menyemak pengesahan. Oleh itu, kita boleh menggunakan beberapa kaedah <strong>auth</strong>: <strong>auth::check(), auth::atemp(), auth:login(),...</strong> ; Jika saya tidak menggunakan Model AppModelsUsers::class, tetapi menggunakan <strong>'driver' => 'database'</strong>, maka bagaimana saya boleh menggunakan beberapa fungsi <strong>auth</strong> kebenaran Kain bulu? </p>
P粉043566314
P粉043566314

membalas semua(1)
P粉781235689

Hanya tukar pemacu kepada pangkalan data, anda boleh dengan mudah mengulas bahagian fasih dan menyahkomen bahagian pangkalan data pemacu dan anda boleh menggunakan auth() seperti sebelum ini. Fungsi pengesahan Laravel ialah pasang dan main.

'users' => [
    'driver' => 'database',
    'table' => 'users', //或者您用于用户的任何表。
]

Anda boleh mereka bentuk kaedah log Masuk anda dalam AuthController seperti ini:

public function signIn(Request $request)
    {
        $request->validate([
            'email' => 'required|email',
            'password' => 'required'
        ]);

        $credentials = $request->only('email', 'password');

        if (Auth::attempt($credentials)) {
            return redirect('/');
        }

        return redirect('login')->withErrors('登录详细信息无效');
    }

Ia akan berfungsi dalam pemacu yang fasih dan pangkalan data.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan