fgh
3 سال پیش توسط fgh مطرح شد
1 پاسخ

مشکل در ورود دو مرحله ای و تعریف trait

سلام من میخواد ورود دو مرحله ای رو فعال کنم همه چی اوکیه فقط میخوام توی کنترلر لاگ این به جای نوشتن کد درون متد به شکل زیر

   protected function authenticated(Request $request, $user)
    {
        if($user->hasTwoFactorAuthenticatedEnabled()) {
            auth()->logout();

            $request->session()->flash('auth' , [
                'user_id' => $user->id,
                'using_sms' => false,
                'remember' => $request->has('remember')
            ]);

            if($user->two_factor_type == 'sms') {
                $code = ActiveCode::generateCode($user);
                // Todo Send Sms

                $request->session()->push('auth.using_sms' , true);
            }

            return redirect(route('2fa.token'));
        }

        return false;
    }

بیام کد رو انتقال بدم به یک trait دیگر که تعریف کردم به اسم TwoFactorAuthenticated در پوشه Auth کنترلر ها پس اومدم اون صفحه رو به شکل زیر ساختم

<?php

namespace App\Http\Controllers\Auth;

use App\Models\ActiveCode;
use Illuminate\Http\Request;

trait TwoFactorAuthenticate
{
    public function loggedin(Request $request , $user)
    {
        if($user->hasTwoFactorAuthenticatedEnabled()) {
            auth()->logout();

            $request->session()->flash('auth' , [
                'user_id' => $user->id,
                'using_sms' => false,
                'remember' => $request->has('remember')
            ]);

            if($user->two_factor_type == 'sms') {
                $code = ActiveCode::generateCode($user);
                // Todo Send Sms

                $request->session()->push('auth.using_sms' , true);
            }

            return redirect(route('2fa.token'));
        }

        return false;
    }
}

و در متد authenticated در کنترلر لاگ این گفتم ...

 protected function authenticated(Request $request, $user)
    {
        return $this->loggedin($request , $user);
    }

ولی در هنگام اجرا ارور میده که این متد loggedin که درکنترلر لاگ این تعریف کردی اصلا وجود نداره نمیدونم کجا رو اشتباه کردم ممنون میشم کمک کنید دوستان


ثبت پرسش جدید
مهران مرندی
تخصص : برنامه نویس
@mehranmarandi 3 سال پیش آپدیت شد
0

به نظر همه چیز درست میاد، فقط trait رو در داخل کلاس use کردید؟


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام