راکت
حل شده

عدم نمایش فایل منیجر برای کاربران سایت

11 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

11
عطا نعمانی
عطا نعمانی
@jehat

تخصص: برنامه نویس PHP / Laravel

بهترین پاسخ

@wxyz همونطور که این دوست عزیز @websaz اشاره کردند، در دایرکتوری
App > Config > file-manager.php
یه خط هست به اسم middleware که بایستی به این صورت دربیاد :

'middleware' => ['web', 'auth'],
عطا نعمانی
عطا نعمانی
@jehat

تخصص: برنامه نویس PHP / Laravel

سلام دوست گرامی از کدام پکیج برای فایل منیجر استفاده کردید؟

رضا جهانگیر
رضا جهانگیر
@rezajahangir

تخصص: Full-Stack Developer

سلام.
به روت خود کد زیر رو اضافه کنید.

middleware('auth')

شاید پاسخ شما همین‌جا باشد

سبحان مولایی
سبحان مولایی
@websaz

تخصص: برنامه‌نویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native

سلام یک میدلویر ایجاد کنید و با توجه به پکیج تون میدلویر رو قرار بدهید.
مثلا برای فایل منیجر UniSharp/laravel-filemanager:
در فایلconfig/lfm.php در قسمت middlewares قرار بدهید.

@wxyz

Paradox
Paradox
@paradox

تخصص: در حال یادگیری

@jehat

https://github.com/alexusmai/laravel-file-manager/issues/18
Paradox
Paradox
@paradox

تخصص: در حال یادگیری

@jehat
@rezajahangir
@websaz
ممنون از دوستان

Paradox
Paradox
@paradox

تخصص: در حال یادگیری

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

http://localhost:8000/file-manager/fm-button
سبحان مولایی
سبحان مولایی
@websaz

تخصص: برنامه‌نویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native

گفتم که یک میدلویر به اسم مثلا IsAdminUser درست کن بعد در اون چک کن که ایا کاربر ادمین هست یا نه بعد ریجستر کن بعد در کانفیگ قرار بده.
@wxyz

Paradox
Paradox
@paradox

تخصص: در حال یادگیری

@websaz

این میدلور

    public function handle($request, Closure $next)
    {
        if($request->user()->isSuperUser() || $request->user()->isStaffUser() ) {
            if($request->user()->status == 1 ) { 
                return $next($request);
            }
        }

        return redirect('/');
    }

تو کانفیگ فایل منیجر هم اینو گذاشتم

'middleware' => ['web', 'auth'],

برای اون پکیجی که شما فرمودید یادمه یک روت مشخص میکردیم ولی این پکیج دیگه نمیدونم چیکار کنم

سبحان مولایی
سبحان مولایی
@websaz

تخصص: برنامه‌نویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native

خوب الان در kernel در app/Http در این قسمت :

    protected $routeMiddleware = [
        'auth' => \App\Http\Middleware\Authenticate::class,
    ...
    'admin' => \App\Http\Middleware\IsAdminUser::class /* نام میدلویر */
    ];

بعد به این شکل در بیارید فایل کانفیگ رو.

'middleware' => ['web', 'auth','admin'],

@wxyz

Paradox
Paradox
@paradox

تخصص: در حال یادگیری

@websaz
ممنونم🌼

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

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