简体   繁体   中英

Wrong on login and restet pasword on LARAVEL 9

enter image description here

Login is failed, the credencials email and password, is correct, but laravel dont acces to dashboard

The password reset is worng to, the email is correct and i try chance of credentials on myphpadmin but dont entry.

this is my code

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use App\Http\Requests\Auth\LoginRequest;
use App\Providers\RouteServiceProvider;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class AuthenticatedSessionController extends Controller
{
    /**
     * Display the login view.
     *
     * @return \Illuminate\View\View
     */
    public function create()
    {
        return view('auth.login');
    }

    /**
     * Handle an incoming authentication request.
     *
     * @param  \App\Http\Requests\Auth\LoginRequest  $request
     * @return \Illuminate\Http\RedirectResponse
     */
    public function store(LoginRequest $request)
    {
        $request->authenticate();

        $request->session()->regenerate();

        return redirect()->intended(RouteServiceProvider::HOME);
    }

    /**
     * Destroy an authenticated session.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\RedirectResponse
     */
    public function destroy(Request $request)
    {
        Auth::guard('web')->logout();

        $request->session()->invalidate();

        $request->session()->regenerateToken();

        return redirect('/');
    }
}

If you're mass assignment while attempting authentication make sure the form requested keys must same as Model's $fillable keys. then try this:

     /**
     * Handle an incoming authentication request.
     *
     * @param  \App\Http\Requests\Auth\LoginRequest  $request
     * @return \Illuminate\Http\RedirectResponse
     */
    public function store(LoginRequest $request)
    {
        $credentials = $request->validated();

        if (Auth::attempt($credentials)) {
           return redirect()->intended(RouteServiceProvider::HOME);
        }
        return back()->with('message', 'The given credentials are not matched');
    }

if you're working with multi guards, try this:

    public function store(LoginRequest $request)
    {
        $credentials = $request->validated();

        if (Auth::guard('web')->attempt($credentials)) {
           return redirect()->intended(RouteServiceProvider::HOME);
        }
        return back()->with('message', 'The given credentials are not matched');
    }

I have tested this example code from your and my implementation

<?php
    
    namespace App\Http\Controllers\Auth;
    
    use App\Http\Controllers\Controller;
    use App\Http\Requests\Auth\LoginRequest;
    use App\Providers\RouteServiceProvider;
    use Illuminate\Http\Request;
    use Illuminate\Support\Facades\Auth;
    use Illuminate\Http\Request;
    use Hash;
    use Session;
    use App\Models\User;
    
    class AuthenticatedSessionController extends Controller
    {
        /**
         * Display the login view.
         *
         * @return \Illuminate\View\View
         */
        public function create()
        {
            return view('auth.login');
        }
    
        /**
         * Handle an incoming authentication request.
         *
         * @param  \App\Http\Requests\Auth\LoginRequest  $request
         * @return \Illuminate\Http\RedirectResponse
         */
        public function store(LoginRequest $request)
        {
          $request->validate([
            'email' => 'required',
            'password' => 'required',
          ]);
    
        $credentials = $request->only('email', 'password');
        if (Auth::attempt($credentials)) {
            return redirect()->intended('dashboard')
                        ->withSuccess('Signed in');
        }
   
        return redirect("login")->withSuccess('Login details are not valid');
        }
    
        /**
         * Destroy an authenticated session.
         *
         * @param  \Illuminate\Http\Request  $request
         * @return \Illuminate\Http\RedirectResponse
         */
        public function destroy(Request $request)
        {
           Session::flush();
           Auth::logout();
           return redirect('/');
        }
        /**
         * Registration page.
         *
         */
        public function registration()
        {
          return view('auth.registration');
        }
       
         /**
         * Store new user request handler
         *
         */
        public function storeUser(Request $request)
        {  
         $request->validate([
            'name' => 'required',
            'email' => 'required|email|unique:users',
            'password' => 'required|min:6',
         ]);
            
         $data = $request->all();
         $check = $this->create($data);
          
         return redirect("dashboard")->withSuccess('have signed-in');
        }
         /**
         * Store new user
         *
         */
        public function create(array $data)
        {
           return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => Hash::make($data['password'])
           ]);
        }    
     
        /**
         * Dashboard for user
         *
         */
        public function dash()
         {
           if(Auth::check()){
            return view('dashboard');
            }
   
           return redirect("login")->withSuccess('are not allowed to access');
         }
    }

Please check from your project and check flash messages if password was wrong check password hashing correctly

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM