کاربر تایید شده آخرین فعالیت ۶ روز پیش

@katerou22

پارس کلیکی از ١ سال پیش

تجربه

2700

  • ۴ ماه پیش @katerou22 جوابی زیر بحث تغییر authentication drive را لایک کرد.
  • ۴ ماه پیش @katerou22 جوابی زیر بحث تغییر authentication drive را لایک کرد.
  • ۴ ماه پیش @katerou22 به بحث تغییر authentication drive جواب داد.

    البته اررورت فک کنم بخاطر این باشه که شما داری کلا یه پرووایدر جدید میسازی که اشتباهه شما باید از همون سشن استفاده کنی و گاردتو عوض کنی!

    و اینکه شما توی تعریف پرووایدر داری مدل اینستس شده از یوزر رو تغییر میدی اونجا جای کاستوم باید eloquent بمونه!

    این فک کنم مفید باشه:

    https://code.tutsplus.com/tutorials/how-to-create-a-custom-authentication-guard-in-laravel--cms-29667

  • ۴ ماه پیش @katerou22 به بحث تغییر authentication drive جواب داد.

    اگر هدفت فقط اینه که بدون هر پسوردی بتونن لاگین کنن اصلا احتیاجی به تعریف درایور جدید نیست!

    کافیه توی LoginController (اگر اشتباه نکنم توی فولدر auth توی کنترلر ها باید باشه) فانکشن ‍‍‍‍credentials رو دوباره‌نویسی کنی و بجای فیلد پسورد، پسورد درست خود کاربر رو قرار بدی (البته قبلش باید کاربر رو با یوزرنیمش یا ایمیلش پیدا کنی)

    تقریبا همچین چیزی:

    <?php
    
    protected function credentials(Request $request) 
    {
        $user = User::where('email', $request[ $this->username() ]);
            return [
                $this->username() => $request[ $this->username() ],
                'password' => $user->getAuthPassword(),
            ];
    
        // return $request->only($this->username(), 'password');
    }

    حالا بجای ایمیل هرچی هست اونو بزار!

  • ۴ ماه پیش @katerou22 به بحث استفاده از route در Vue جواب داد.

    راستشو بخوای همچین چیزی امکان پذیر نیست چون کامپوننت های ویو انجین php ندارن که توشون بخوای فانکشن اجرا کنی!

    ولی راه های دیگه ای هست که مسیر های لاراول رو توی ویو بهشون دسترسی داشته باشی:

    باید تو صفحه بلیدی که توش ویو رو اجرا کردی به اون المنتی که ویو رو بهش وصل کردی پروپرتی بدی و بعدش توی صفحه اصلی جاوا اسکریپتد بگیریش، همچین چیزی تقریبا:

    app.blade.php

    <div id="app" data-login_route="{{'{{'}} route('login') }}"></div>
    

    ‍‍‍‍‍app.js

    window.login_route = document.querySelector("#app").dataset.login_route
    

    و دونه دونه روت هایی که میخوای رو اینجوری بدی و بعدش توی کامپوننت اینجوری استفاده کنی:

    data() {
        return {
            login_route: login_route
        }
    },

    اونوقت توی template قابل استفادست!