متمایز کردن کانال های لاراول از یکدیگر در پروژه های یکسان

7 روز پیش توسط mohammad reza آپدیت شد
آفلاین
user-avatar
mohammad reza ( 22377 تجربه )
2 هفته پیش
تخصص : برنامه نویس

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

0

سلام خسته نباشید
من در پروژه ی خودم از وب سوکت و سرویسی مشابه پوشر استفاده میکنم و برای ارسال پیام های همه پخشی توی پروژه ی خودم به صورت لحظه ای و استفاده ی اون ها از کانال های لاراول واقع در دایرکتوری روت استفاده میکنم.
موضوع اینه که چون سرور این ارتباط برنامه ی خودم نیست و یه سرور خارج از پروژم هست تمامیه پروژه هام میخوام به همون سرور متصل باشن
تا اینجا هم موردی نداریم
اما مشکل زمانی پیش میاد ک از یک پروژه مثلا چند جا استفاده کنی و اجرا کنیش و همشون نام کانال هاشون یکی میشه چون پروژه یک سان بوده و همشون پیام های هم رو میخونن
میدونم که سیستم اعتبار سنجی داره این کانال ها توی لاراول (ACL) اما دقیقا نمیدونم چه چیزی رو پیاده کنم

خودم در تلاش بودم نامی برای هر پروژه در ENV قرار بدم و از طریق اون بیام و نام کانال ها رو uniqe کنم و داخل همه جای پروژه اون نام env رو متصل کنم به اسم کانال تا مشکل حل شه
اما توی کلاس های لایو وایر وقتی میخوام env رو وسط متن بزارم ارور میده و اجازه ی این کار رو بهم نمیده انگار در دسترس نیست اونجا

اگر ایده ای دارید ممنون میشم راهنمای کنید بنده رو

آفلاین
user-avatar
mohammad reza ( 22377 تجربه )
1 هفته پیش
تخصص : برنامه نویس

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

0

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

@mhyeganeh
@Alimotreb
@ali.bayat
@hesammousavi
@juza66
@mohaligateway

آفلاین
user-avatar
محمدحسن یگانه ( 134007 تجربه )
7 روز پیش
تخصص : Full-Stack Web Developer Freelancer

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

0

سلام.
بنده متاسفانه هم مسئله تون رو درست متوجه نشدم و هم اینکه تجربه زیادی در این موضوع ندارم...
امیدوارم سایر دوستان بتونند کمک کنند.

موفق باشید.

آفلاین
user-avatar
mohammad reza ( 22377 تجربه )
7 روز پیش
تخصص : برنامه نویس

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

0

@mhyeganeh
سلام و سپاس
کانال ارتباطی ای که پیام ها رو ارسال میکنه یکسان هست
چطور کانال رو برای یک پروژه با استفاده چند گانه مدیریت کنم
یعنی به طریقی برای هر استقرار پروژه در سرور های مختلف برای اشخاص مختلف بتونم پیام هاشون رو توی اون کانال محدود ب خودشون کنم

ساده ترین حالتش اینه که نام کانال عوض بشه
اما نمیتونم این نام کانال رو به عنوان مثال از توی env دریافت کنم
منظور کلی سطح دسترسی این پیام ها و مدیریتشون که کیا ببینن و استفاده کنن.

آفلاین
user-avatar
محمدحسن یگانه ( 134007 تجربه )
7 روز پیش
تخصص : Full-Stack Web Developer Freelancer

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

0

چیزی که من می‌فهمم از اساس نباید پروژه های جداگانه با هم ارتباطی این چنین داشته باشند و میتونه یک مسئله خیلی مهم باشه. روش معمولش این هست که برای هر پروژه یک API_KEY یا TOKEN یا چیزی تو این مایه ها ایجاد میشه تا ابزاری برای احراز هویتشون باشه و کاملا از هم مستقل عمل کنند و از نظر امنیتی هم مشکلی بوجودنیاد.

اگر جداسازیتون تو این لایه انجام بشه به نظرم هم منطقی تره هم امن تر و هم اینکه دیگه دغدغه‌ای برای کانال‌هایی با نام مشترک نخواهید داشت.

آفلاین
user-avatar
mohammad reza ( 22377 تجربه )
7 روز پیش
تخصص : برنامه نویس

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

0

@mhyeganeh
چطور app کی پروژه رو عوض کنم؟
من مثلا پروژه رو که کپی میکنم و اسم پوشه رو عوض میکنم با phpstorm که باز میکنم پوشه رو کلا فک میکنه همون پروژه قبلیه و ادرس ترمینالشم همونه و حتی رو اسم پوشه توی کروشه اسم پروژه اصلی رو مینویسه
یعنی دستی هرچی بنویسم برا app_key اشکال نداره؟ یا باید generate بشه؟

در رابطه با پیام سرور ارسال کننده ی این پیام ها pusher یکسان هست و این پروژه ها از طریق اون پیام همه پخشی خودشون رو ارسال میکنن دیگ مهم نیست چه برنامه ای هست هرکی یوزر پس اون سرور رو داشته باشه با داشتن نام اون کانال ارتباطی پیام هاش رو میخونه
البته میگم باز هم ACL داره توی کانال ها که اشنایی دقیقی ندارم من

آفلاین
user-avatar
محمدحسن یگانه ( 134007 تجربه )
7 روز پیش
تخصص : Full-Stack Web Developer Freelancer

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

0

اصلا موضوع سر APP_KEY در فایل .env نیست. اون که داستانش جداست و مربوط میشه به بحث encryption لاراول. چیزی که بالا گفتم API_KEY بود و منظورم این هست که کلا به یک نحوی پروژه ها باید از هم قابل تفکیک باشند و هر درخواستی که میاد با استفاده از همین KEY باید احراز هویت بشوند و اینجوری استقلالشون هم حفظ میشه ودیگه دغدغه هم اسم بودن کانال هاتون رو ندارید.

مثلا شما اگر از PUSHER هم استفاده کنید نباید همه پروژه هاتون رو با حساب یک Channel هندل کنید. بلکه برای هر پروژه ای باید یک Channel جداگانه بسازید و طبعا هر کدومشون اطلاعات جداگانه ای (app_id , key, secret) دارند و عملا مستقل از هم عمل می‌کنند.

اینکه تو phpstorm هم چنین مواردی پیش میاد طبیعی نیست و یک جای کار احساس می‌کنم ایراد داره. فقط متاسفانه باز هم درست متوجه منظورتون نمیشم. حالا ان شالله سایر دوستان بهتر می‌تونند راهنمایی کنند.

آفلاین
user-avatar
mohammad reza ( 22377 تجربه )
7 روز پیش
تخصص : برنامه نویس

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

0

@mhyeganeh
سپاس فراوان از راهنماییتون دوست عزیز
ب نظر میاد برای هر پروژه سرور پوشرش رو باید جدا کرد پس

آفلاین
user-avatar
سیدعلی موسوی ( 146448 تجربه )
7 روز پیش
تخصص : سی شارپ و پی اچ پی

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

0

سلام محمدرضا جان
نمیدونم ایا این روی سرور شما هستش یا روی هاست!

اینجا باید یه حرکتی انجام بدی وقتی کاربر وارد سایت میشه و میخواد یک اکانت بسازه ، شما این براساس اطلاعات کاربر توی بک اند از پروژه تون یک کپی ایجاد میکنی و اون اطلاعات کاربر و appkey و سایر این اطلاعات بصورت اتومات برای کاربر ساخته بشن.

اگر سرور هست خب برای خودت میتونی وب سوکت استفاده کنی و توی سیستم سرور این کارها رو با یک برنامه جدا هندل کنی. اگر نه سرور نیستش و یک هاست هست و شما براساس userid اطلاعات مشترکین رو جدا میکنی پس بعد باید یکجوری این کانفیگ رو بنویسی مثلا توی یک فایل دیگه و توی ارسال و دریافت قبلش این فایل کانفیگ رو چک کنی و براساس اون تصمیم بگیری. اینکه یک کپی از پروژه بگیری توی هاست و فایل Env بسازی برای کاربر و اینجور کارها و بصورت دستی واقعا شاید درست نباشه.

آفلاین
user-avatar
mohammad reza ( 22377 تجربه )
7 روز پیش
تخصص : برنامه نویس

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

1

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

برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.