recherche

Maison  >  Questions et réponses  >  le corps du texte

La validation du formulaire Laravel affiche directement la solution interdite ?

// 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();
    }
}

Post affiche Interdit directement après la connexion. Pourquoi?

mise à jour Le problème a été résolu.

authorize应该返回true。返回falseIl y aura un interdit. Mais voici le problème. Je veux gérer moi-même la logique lorsque l'authentification est fausse. Ce qu'il faut faire?

过去多啦不再A梦过去多啦不再A梦2754 Il y a quelques jours461

répondre à tous(1)je répondrai

  • 大家讲道理

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

    Remplacez la méthode suivante de la classe de base :

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

    Remplacez cette méthode selon votre propre logique sous votre LoginRequest.

    répondre
    0
  • Annulerrépondre