PDA

View Full Version : ایجاد چند لاگین در yii2



engmmrj
سه شنبه 03 شهریور 1394, 15:01 عصر
سلام
من میخواهم یک لاگین برای پنل ادمین بزارم و یک پنل هم برای پنل کاربران یک سری سرچ انجام دادم و به کد زیر رسیدم

// login admin module'user' => [
'class' => 'yii\web\User',
'identityClass' => 'app\models\User',
'enableAutoLogin' => true,

],
// login site
'marketer' => [
'class' => 'yii\web\User',
'identityClass' => 'app\models\Marketer',
'enableAutoLogin' => true,
'loginUrl' => 'test/index',
'identityCookie' => [
'name' => '_marketer',
'httpOnly' => true,
] ],
ولی وقتی تو یکی از لاگین ها لاگین میکنی لاگین بعدی هم باز میشه

parsboy
چهارشنبه 01 مهر 1394, 12:15 عصر
اگر کسی از دوستان میتونه راهنمایی کنه بنده هم نیاز دارم

desatir7316
پنج شنبه 02 مهر 1394, 12:21 عصر
باید session های frontend و backend رو جدا کنی
یه نگاه به این بنداز:
http://www.yiiframework.com/doc-2.0/guide-tutorial-shared-hosting.html#separate-sessions-and-cookies

parsboy
شنبه 04 مهر 1394, 11:12 صبح
باید session های frontend و backend رو جدا کنی
یه نگاه به این بنداز:
http://www.yiiframework.com/doc-2.0/guide-tutorial-shared-hosting.html#separate-sessions-and-cookies
مرسی اما بازم متوجه نشدم بیشتر توضیح میدید :لبخند:

barnamenevisiren
یک شنبه 05 شهریور 1396, 18:33 عصر
سلام
من میخواهم یک لاگین برای پنل ادمین بزارم و یک پنل هم برای پنل کاربران یک سری سرچ انجام دادم و به کد زیر رسیدم

// login admin module'user' => [
'class' => 'yii\web\User',
'identityClass' => 'app\models\User',
'enableAutoLogin' => true,

],
// login site
'marketer' => [
'class' => 'yii\web\User',
'identityClass' => 'app\models\Marketer',
'enableAutoLogin' => true,
'loginUrl' => 'test/index',
'identityCookie' => [
'name' => '_marketer',
'httpOnly' => true,
] ],
ولی وقتی تو یکی از لاگین ها لاگین میکنی لاگین بعدی هم باز میشه


دوست گرامی و بهتر بگویم دوستان عزیز ، چون از تاریخ پست زمان زیادی گذشته است:
ببینید وقتی شما با پنل اول لاگین میکنید، در حقیقت چون گزینه enableAutoLogin هم true است، لاگین شما بر اساس کوکی پایه خواهد بود. در نتیجه کوکی با نام identity_ برای شما تنظیم خواهد شد. حال وقتی پنل دوم را لود میکنیم، چون روی یک دامنه است، در نتیجه از همان کوکی identity_ استفاده کرده و شما را لاگین نمایش میدهد . همان طور که میدانید کوکی ها به نام دامنه وابسته اند.
در نتیجه یا

1- باید پنل های خود را روی دو دامنه مجزا نصب نمایید

و 2- یا گزینه بهتر این است که تنظیمات خود را تغییر دهید - یعنی برای دو بخش backend مثلا برای پنل ادمین - و frontend برای کاربران ، کوکی مجزایی تنظیم نمایید (البته در آپدیت جدید ، پارمتر سشن نیز برای جلوگیری از هر مشکلی نیز تنظیم میشود. بهتر است به صفحه زیر مراجعه نمایید)

http://www.yiiframework.com/wiki/686/configuring-different-sessions-for-backend-and-frontend-in-yii-advanced-app/

3- معمولا از گزینه سومی نیز صحبت میشود . یعنی غیر فعال کردن لاگین خودکار
enableAutoLogin' => false
که این گزینه نمیتواند رفع مشکل کند و تنها زمانی برای شما کمک میکند که پس از لاگین در پنل اول، مرورگر را کامل ببندید و دوباره باز کنید تا دیگر در هیچکدام از پنل ها لاگین نباشید.

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