cari

Rumah  >  Soal Jawab  >  teks badan

Pengesahan borang Laravel terus memaparkan penyelesaian Terlarang?

// App\Http\Requests\LoginRequest

<?

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class LoginRequest extends FormRequest
{

    public function authorize()
    {
        return false;
    }


    public function rules()
    {
        return [
            'username' => [
                'required',
            ]
        ];
    }
}
// App\Http\Controllers\Admin
<?php


namespace App\Http\Controllers\Admin;
use App\Http\Requests\LoginRequest;
use Illuminate\Cache\RateLimiter;


/**
 * Class Auth
 * @package App\Http\Controllers\Admin
 */
class Auth extends BaseController
{

    public function login()
    {
        return view('admin.login');
    }

    public function dologin(LoginRequest $request)
    {
        dd($request->fails());

        $rl = app(RateLimiter::class);
        $res = $rl->tooManyAttempts($this->getFailKey($request),5,3);
        if ($res)
            return redirect()->back()->withErrors(['errors'=>'3分钟内错误超过5次,请稍后重试']);
        $rl->hit($this->getFailKey($request));
    }

    private function getFailKey(Request $request)
    {
        return $request->input('username').':'.$request->ip();
    }
}

Paparan siaran Dilarang terus selepas log masuk. kenapa?

kemas kini Masalah telah selesai.

authorize应该返回true。返回falseAkan ada yang terlarang. Tetapi inilah masalahnya. Saya mahu mengendalikan logik sendiri apabila auth adalah palsu. Apa nak buat?

过去多啦不再A梦过去多啦不再A梦2839 hari yang lalu525

membalas semua(1)saya akan balas

  • 大家讲道理

    大家讲道理2017-05-16 16:55:34

    Timpa kaedah kelas asas berikut:

        /**
         * Get the response for a forbidden operation.
         *
         * @return \Illuminate\Http\Response
         */
        public function forbiddenResponse()
        {
            return new Response('Forbidden', 403);
        }
        

    Timpa kaedah ini mengikut logik anda sendiri di bawah LoginRequest anda.

    balas
    0
  • Batalbalas