کاربر تایید شده
آخرین فعالیت ١ ماه پیش

@mehdiphpgrp

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

تجربه

1900

  • @amir با سلام و وقت بخیر من از اولی استفاده کردم و ریپورت رو داخل جسپر ساختم بعد به صورت embedded وارد پروژه خودم کردم و آدرس درایور متصل شدن به پایگاه دادش رو هم داخل پروژه گذاشتم... اینطور درست شد... ممنون از راهنماییتون حالا میخواستم به صورت مقاله در این وبسایت بذارمش چه نکاتی رو باید رعایت کنم؟

  • @mohammad-hemmati ممنون دوست عزیز مدل رو کلا از جایی دیگه عوض کردم داخل config/jwt.php اونجا هم مدل رو override کردم درست شد. ممنون از لطف شما آقا محمد عزیز.

  • @amin بله دوست عزیز من بجای ایمیل موبایل و دارم و داخل دیتابیس هم فیلد ها درسته. مطلب دیگه اینکه من دارم احراز هویت رو برای api استفاده میکنم درواقع وقتی از JWTAuth::attempt یا از Auth::attempt این استفاده میکنم یوزر رو برنمیگردونه. پسورد رو من موقع رجیستر Hash میکنم ، ولی دقیقا متوجه نشدم خود JWTAuth::attempt از چه الگوریتمی برای Hash پسورد استفاده میکنه.

  • @amir نمونه کد هم گذاشتم،

  • ۷ ماه پیش @mehdiphpgrp یک بحث به اسم مشکل در کار نکردن Auth::attempt در لاراول درست کرد.

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

    من موقع لاگین از Auth::attempt استفاده میکنم که یه آرایه از کلمه عبور و رمز رو بهش پاس میدم، از اونجایی که کلمه عبور من با پیشفرض لاراول یکی نیست یعنی به جای email من mobile دارم و اومدم username رو override کردم، ولی بازم Auth::attempt نمیتونه مشخصات کاربری ک مطمئنم درست هست رو برگردونه ممنون میشم اگه بهم بگید چطور باید username و password رو override کنم که وقتی از Auth::attempt استفاده میکنم کاربر رو برام برگردونه این کد لاگین من هست:

    public function login(Request $request){
        $validator = Validator::make($request -> all(), [
            'mobile' => 'required',
            'password' => 'required',
        ]);
        if($validator -> fails()){
            return response()->json($validator->errors());
        }
    
        $credentials = (['mobile' =>$request->input('mobile'), 'password' =>$request->input('password')]);
        try{
            if(! $token = JWTAuth::attempt($credentials)){
                return response()->json(['errors' => 'invalid username and password']);
            }
        }catch (JWTException $e){
            return response()->json(['errors' => 'could not create token']);
        }
        return response()->json(compact('token'));
    }

    اینم کد مدل من:

    class User extends Authenticatable { use Notifiable;

    protected $table = 'driver';
    public $timestamps = false;
    protected $fillable = [
        'name', 'mobile', 'national_code','password',
    ];
    protected $hidden = [
        'password'
    ];

    }

  • ۸ ماه پیش @mehdiphpgrp به بحث لاراول پاسپورت جواب داد.

    @mohammad-hemmati سلام خدمت شما دوست عزیز من مراحلش رو رفتم و پس از نصب اومدم از config/auth.php مدل خودم رو هم override کردم، مدل من Driver که جدولش هم DRIVER ، که داخل مدل به این شکل معرفیش کردم:

    protected $table = 'DRIVER'; 

    از اونجایی که username من mobile اون رو هم override کردم ولی موقع لاگین وقتی دستور

    Auth::attempt(
    ['MOBILE' => $mobile,
     'password' => $nationalCode])

    رو میزنم اصلا چیزی رو برنمیگردونه در صورتی که همین آرایه رو کوری میزنم مشخصات یوزر رو میاره ولی با Auth::attempt نه . مشکل دوم اینه که برای route هام از این روش استفاده کردم:

    Route::middleware('auth:api')->group(['prefix' => 'v1', 'namespace' => 'API\v1'], function() {
        Route::post('getDetails', '[email protected]');
    });

    ولی وقتی با postman آدرس مربوطش رو میزنم با توجه به اینکه داخل هدر توی key از Authorization و داخل value از bearer Token استفاده میکنم اما چه داخل هدر اینها رو بذارم و چه نذارم یا اینکه چه از middleware('auth:api') استفاده کنم چه نکنم دیتا ها رو برام میاره

  • ۸ ماه پیش @mehdiphpgrp یک بحث به اسم لاراول پاسپورت درست کرد.

    با سلام خدمت همه دوستان و اساتید محترم چطور میتونم داخل لاراول که از پکیج passport برای احراز هویت داخل api استفاده کردم، هم model هم username و password اون رو به چیزای دیگه تغییر بدم؟

    یعنی بجای اینکه پاسپورت بره از User model بخونه از جدول دیگه ای که من بهش دادم بخونه و همینطور یوزر و پسورد مثلا بجای username از mobile و بجای password از nationalCode استفاده کنه؟ در ضمن من تا جایی که میدونستم کارای لازم رو انجام دادم از جمله اینکه داخل مدلی که میخوام رو از Authenticatable اکستند کردم و داخل config/auth هم

        'providers' => [
            'driver' => [
                'driver' => 'eloquent',
                'model' => App\Driver::class,
            ],

    و همچنین

        'guards' => [
            'web' => [
                'driver' => 'session',
                'provider' => 'driver',
            ],
    
            'api' => [
                'driver' => 'passport',
                'provider' => 'driver',
            ],
        ],

    این ها رو هم تغییر دادم ولی جواب نگرفتم ممنون میشم راهنمایی کنید. با سپاس فراوان

  • @amir بله این رو هم امتحان کردم اصلا هیچ فایلی رو از سمت جسپر باز نمیکرد ولی اولی بازم pdf رو باز میکرد فقط اطلاعات دیتابیس رو نمیاورد . نمیدونم درایور یا چیز دیگه چون مشکلی با mysql ندارن دوتاشون داستان روی sql server

  • ۸ ماه پیش @mehdiphpgrp یک بحث به اسم jasper report in laravel - ایجاد گزارش در لاراول درست کرد.

    با سلام

    من میخوام برای گرفتن یک گزارش حرفه ای و شکیل از jaspersoft report استفاده کنم که دیتابیسم sql server و با لاراول بهش وصل شدم.

    مشکل اینجاست که وقتی داخل جسپر ریپورتم و میسازم و از لاراول اونو صداش میزنم اطلاعات دیتابیس رو نمیاره در حالی که داخل mysql مشکلی نداره. درایور sql server رو هم تست کردم مشکلی نداره. برای ارتباط با جسپر هم از کامند لاین jasperstarter استفاده میکنم.

    ولی بازم اطلاعاتی برای من نمیاره. ممنون میشم راهنماییم کنید. با سپاس

  • ۸ ماه پیش @mehdiphpgrp به بحث چرا ویندوز پیشنهاد نمیشه؟ جواب داد.

    @ali123 من توی چند مورد برام پیش اومده که با ویندوز دولوپ کردم مخصوصا با wamp وقتی سایت رو بردم روی سرور که لینوکس بوده به مشکل خوردم در صورتی که وقتی داخل لینوکس دولپ کردم و بعد آپلود کردم هیچ ایراد یا مشکلی نداشته

  • ۸ ماه پیش @mehdiphpgrp به بحث چرا ویندوز پیشنهاد نمیشه؟ جواب داد.

    @amir بله کاملا درست میفرمایید استاد عزیز، ولی یه بحثی هم که بیشتر در ایران مطرحه اینه که نیاز خیلی از اورگان ها و سازمانها در ایران وابسته به ویندوز، نه اینکه منظورم به بد بودن و خوب بودن سیستم عامل یا پلت فرم خاصی باشه اما طبق شرایط خاص محیط بیشتر تعیین میکنه که ما از چه چیزی بهتره استفاده کنیم. البته جسارت بر بی ادبی نباشه که پاسخی برای کامنت شما استاد گرامی میذارم

  • @bvk ممنون دوست عزیز

  • @amir سپاس از لطفتون

  • با سلام من با لاراول 5.6 به sql server وصل شدم و عملیات CRUD رو انجام میدم و مشکلی نیست. اما وقتی از حرف "ی" استفاده میکنم به مشکل میخورم. برای مثال:

    کتابی رو به نا ریاضی ذخیره کردم. حالا مخواد از یک مدرسه معلم هایی که درس ریاضی رو تدریس میکنند رو پیدا کنم. با جستجو روی درس "ریاضی" چون "ی" داره چیزی برنمیگرده ولی اگه درسی رو انتخاب کنم که حرف "ی" نداشته باشه مشکلی پیش نمیاد

    تنظیمات config دیتابیس رو هم روی utf8 گذاشتم ولی نشد.

    'sqlsrv' => [
        'driver' => 'sqlsrv',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '1433'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8',
        'collation' => 'utf8_persian_ci',
        'strict' => false,
        'engine' => null,
        'prefix' => '',
    ],