یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دوره‌ها

استفاده از تخفیف‌ها
ثانیه
دقیقه
ساعت
روز
نوب
4 سال پیش توسط نوب مطرح شد
3 پاسخ

ذخیره اطلاعات کاربر پس از هربار ورود در لاراول

سلام دوستان

چطور میتونیم کاری کنیم که وقتی کاربر هربار وارد پنل کاربریش میشه اطلاعات ورودش مثل آی پی و غیره را در یک جدول جداگانه ذخیره کنیم ؟

من توی loginController در متد construct نوشتم ولی عملیات insert انجام نمیشد
توی AppServiceProvider هم قسمت boot نوشتم بازم نشد

میشه راهنمایی کنین ؟


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
0

اگر از احراز هویت خود لاراول استفاده میکنی
میتونی توی متد login از LoginController بعد از لاگین کاربر این کارو انجام بدی

متد login به شکل پیش فرض از طریق تِریت AuthenticateUser ضمیمه میشه،

میتونی کدهاش رو از توی تریت برداری و این متد رو توی کنترلر overwrite کنی


نوب
تخصص : کدنویس نوب :)
@yk5742g 4 سال پیش مطرح شد
0

@ali.bayat
استاد میتونین با مثال بگین ؟


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 4 سال پیش آپدیت شد
0

اگر از سیستم Auth خود لااراول استفاده می‌کنید بخشی از کار بصورت اتومات از پیش طراحی و پیاده سازی شده.

در کل در طول هر فرایند احراز هویت، چندین Event مختلف بصورت اتومات و بسته به شرایط توسط لاراول فراخونده می شوند. یکی از این event ها دقیقا مربوط به زمانی هست که احراز هویت موفقیت آمیز بوده و کاربر لاگین کرده است. در مستندات لاراول اینطور میگه:

If the authentication attempt is successful and the user is logged in, the auth.login event will be fired

https://laravel.com/docs/5.0/authentication#authenticating-users

حالا شما می‌تونید از این قضیه استفاده کنید و در فایل EventServiceProvider کلاس Listener مورد نظرتون رو به این Event متصل کنید:

use Illuminate\Auth\Events\Login as UserLoggedIn;

class EventServiceProvider extends ServiceProvider {

 protected $listen = [

        UserLoggedIn::class => [
            YourListener::class,
            // Other Listeners...
        ]
    ];
}

حالا کافیه Listener های دلخواهتون رو بسازید و در قسمت handle شون اقدامات لازم رو مثل ذخیره اطلاعات در دیتابیس و ویرایش زمان آخرین لاگین و ... انجام بدید و اسم این Listener ها رو جایگزین قسمت YourListener:class کنید. اینجوری با هر بار لاگین کاربران کلیه Listener هایی که در این آرایه تعریف شدند بصورت اتومات فراخونی می‌شوند.


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

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