مشکل با attempt ها

پرسیده شده
فعالیت 616 روز پیش
دیده شده 768 بار
0

سلام
استاد متود attempt برای من حتی وقتی ایمیل و پسورد درست رو میزنم false برمیگردونه!
stackoverflow گفته بودن پسورد رو bycrypt کنم درست میشه ولی من پسوردم bycrypt بود.
 

فایل پیوست

عرفان مهدوی
عرفان مهدوی

19 تیر 98

0
حذف شده

سلام ... 

نیازی به bcrypt کردن نیست ... خود اون متد این کار رو انجام میده ... از متد Attemp به چه صورت استفاده میکنید ... تیکه کدتون رو ارسال کنید .

فایل پیوست

مهرداد سامی

توسط

مهرداد سامی

19 تیر 98

حذف شده
استاد دقیقا مشکلم این بود که توی مدل یوزر با استفاده از setPasswordAttribute پسورد رو bcrypt میکردم مشکلم حل شد ممنون
عرفان مهدوی

20 تیر 98

0
حذف شده

درسته ! وقتی یوزر رو رجیستر میکنم پسوردش رو bcrypt میکنم!
 

return Auth::attempt($request->only('email', 'password')

 

فایل پیوست

عرفان مهدوی

توسط

عرفان مهدوی

20 تیر 98

0
حذف شده

با عرض سلام و ادب

میخام سایتی طراحی کنم که ادمین هم داشته باشه و کاربر ادمین در صفحه مربوط به لاگین ادمین بتونه لاگین بکنه و کاربر مربوط به صفحه اصلی سایت هم در صفحه خودش. همچنین روشهای وزرود هر دو با هم کمی متفاوت هست. یعنی برای ادمین میخام جند تا مساله اضافی رو موقع لاگین چک کنم. ایا باید متدهای لاگین متفاوت داشته باشم؟ یعنی پوشه auth رو توی ادمین کپی کنم و تغییرات مربوطه رو اجرا کنم و ..؟ نحوه میدلویر درست کردنش چطوره؟

 

با تشکر

فایل پیوست

0
حذف شده

سلام ... 

در این حالت شما بهتره که کلا یک controller دیگه مثلا به نام adminController طراحی کنید و لاگین ادمین اگه با حالت عادی تفاوت داره رو بنویسید ... البته تا جایی که میتونید این تفاوت ها رو در داخل جاهای دیگه قرار بدید تا بتونید از همون Login پیش فرض استفاده کنید ولی اگه امکانش نیست یک کنترلر جدید بسازید. 

برای middleware هم شما یک فیلد جدید به جدول user اضافه میکنید به نام is_admin ... و داخل middleware چک میکنید که این یوزر admin هست یا خیر : 

use Closure;

class Admin {
    public function handle($request, Closure $next)
    {
        if ( Auth::user() && Auth::user()->isAdmin() )
        {
            return $next($request);
        }

        return redirect('home');
    }

}

این middleware رو هم داخل kernel.php وارد میکنید داخل قسمت $routeMiddleware ایجاد میکنید : 

   protected $routeMiddleware = [
        'auth' => \App\Http\Middleware\Authenticate::class,
        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
        'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
        'can' => \Illuminate\Auth\Middleware\Authorize::class,
        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
        'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
        'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
        'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
        'admin' => \App\Http\Middleware\Admin::class
    ];

داخل کنترلر و یا فایل web.php هرجا نیاز داشتید که از این middleware استفاده کنید میتونید اسم admin رو اونجا قرار بدید : 

Route::get('/', function () {
    return view('welcome');
})->middleware('admin');






// AdminController.php

class AdminController extends Controller
{
   
   
    public function __construct()
    {
        $this->middleware('admin')->except('login');
    }

 

فایل پیوست

مهرداد سامی

توسط

مهرداد سامی

20 تیر 98

1
حذف شده

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

فایل پیوست

0
حذف شده

متد login که نوشتید رو ارسال کنید .

فایل پیوست

مهرداد سامی

توسط

مهرداد سامی

21 تیر 98

0
حذف شده

اصلا متد جدید ننوشتم. همون متد پیشفرض لاراول. حتی دوباره لاراول رو نصب کردم و بازم همین مشکل هست.
این روت من هست


Route::get('/admin', 'Admin\[email protected]')->name('admin.dashboard');

و کنترلر dashboard هم به میدلویر auth وصل کردم توی construct

وقتی ادرس site/admin رو میزنم میره تو صفحه لاگین که تا اینجا درسته. وقتی مشخصات رو وارد میکنم و دکمه ورود رو میزنم میره تو صفحه داشبورد که تا اینجا هم منطقیه. اما کافیه یه رفرش بزنم. دوباره میره تو صفحه لاگین

فایل پیوست

0
حذف شده

همچنین در صفحه home این اتفاق نمیفته. یعنی وقت لاگین کردیم با رفرش کردن نمیره تو صفحه لاگین و همه چی درسته. فقط تو روت بالا اینطوریه. یعنی یکبار لاگین میشه و حتی وقتی Auth::user() رو خروجی میگیرم جواب درست میده اما با رفرش.....

فایل پیوست

0
حذف شده

با مرورگر دیگه تست کنید اگه باز هم همین مشکل بود کدتون رو به آدرس [email protected] ارسال کنید تا ببینم مشکلش چی هست.

فایل پیوست

مهرداد سامی

توسط

مهرداد سامی

22 تیر 98

0
حذف شده

با دقت لاراول رو از اول نصب کردم و مشکل حل شد. ولی بالاخره نفهمیدم چرا اون مشکل به وجود اومده بود. با تشکر از شما که وقت گذاشتید.

فایل پیوست

0
حذف شده

سلام و وقت بخیر

استاد عزیز از دوره ی کاربردی انتظار میره کارهای خاصی صورت بگیره

من نیاز دارم بدونم چطور چند گروه کاربری ایجاد بشه با guard ها و اینکه چطور ثبت نام بدون پسورد و تنها با احراز هویت پیامکی صورت بگیره و شخص کد تائید که وارد کرد ما لاگینش کنیم.

 

ممنون تا به اینجا عالی بوده آموزش ها

فایل پیوست

مهدی مشایخی

توسط

مهدی مشایخی

3 آبان 99