parrot

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

4 پست در این موضوع قرار دارد

سلام

بنده یه مشکلی دارم و سعی میکنم خلاصه مطرح میکنم و از دوستانی که اطلاع دارن خواهش میکنم راهنمایی لازم رو انجام بدن

بنده دو سایت وردپرسی راه اندازی کردم. یکی در دومین اصلی (domain.com) و دیگری در ساب دومین (sub.domain.com).

برای اینکه یوزرها یکی بشن برای ثبت نام و ورود و ... هم از دیتابیس مشترک و جدول کاربران یکسان استفاده شده + تنظیمات مورد نیاز و الان مشکلی نیست. هر کاربری ثبت نام کنه در هر دوسایت عضو میشه و میتونه لاگین کنه و در هر دوسایت نقش خودش رو داشته باشه. تا اینجا هیچ مشکلی نیست و کاربران یکی هستن و میتونن با اطلاعات کاربریشون به هر دو سایت لاگین کنن.

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

بنده کوکی ها و هش و نمیدونم اتور کی و هر چی بود رو ست کردم(طبق اموزش هایی که تو سایت های خارجی و فارسی و .... بود) همه اطلاعات به صورت یکسان، مختلف و ..... یعنی با روش های مختلف تست گرفتم

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

1

به اشتراک گذاری این پست


لینک به پست

ببخشید جسارتا تو این مدتی که از پست من گذشته کسی نظر یا ایده ای نداره؟ اساتید نظری ندارن!! کسی این مشکل رو نداشته؟

0

به اشتراک گذاری این پست


لینک به پست

سلام

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

بگذریم.

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

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

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

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

به هر حال

راه حلی که برای من اتفاق افتاد و فکر کنم مشکل هم همین بود من از دیتابیس مشترک استفاده کرده بودم درست، پرفیکس مختلف هم داشتن درست ولی اون دو تا تیبل یوزر و یوزرمتا با یکی از پرفیکس های سایت مشترک بود(سایت اول) که اتفاقا تو اموزش ها هم گفته میشه تو فایل کانفیگ سایت دوم یا چندم پرفیکس های یوزر و یوزرمتای سایت اول وارد بشه. خب مشکل دقیقا همینه

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

define('CUSTOM_USERMETA_TABLE', 'my_usermeta');
define('CUSTOM_USER_TABLE', 'my_users');

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

گزینه های زیر اگه ست شده باید برای همه سایت ها یکسان باشه.

define('AUTH_KEY',         '');
define('SECURE_AUTH_KEY',  '');
define('LOGGED_IN_KEY',    '');
define('NONCE_KEY',        '');
define('AUTH_SALT',        '');
define('SECURE_AUTH_SALT', '');
define('LOGGED_IN_SALT',   '');
define('NONCE_SALT',       '');

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

define('COOKIE_DOMAIN', '.domain.com');
define('COOKIEPATH', '/');
define('COOKIEHASH', 'your hash generate');

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

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

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

خدانگهدار

5

به اشتراک گذاری این پست


لینک به پست
نقل قول

 

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

 

چندین علت میتونه باعث این عدم جواب دادن بشه

یکی اینکه پست ها بعضا دیده نمیشن

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

بهرحال خیلی توقعات هست که بدون کمک همه کاربرها محقق نمیشه اینهم جزءی از همین هاست

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری