ปัญหาการ logout ใน yii framework 2

860 สังคมนักพัฒนาระบบ (Community)

ทำไมเวลา login ใน frontend เวลา logout แล้ว ต้องไป logout ใน backend อีกครั้ง ต้องทำอย่างไรถึงจะ logout ในbackend ด้วย

คำตอบ/อธิบาย

มานพ กองอุ่น

มานพ กองอุ่น

ตอบเมื่อ แก้ไขล่าสุดเมื่อ 3 มิ.ย. 2017, 14:10:57

ปกติถ้าตั้ง SESSION name ตรงกันก็จะ logout ทีเดียวเลยครับ

ลองดูเรื่องนี้ประกอบครับ https://www.programmerthailand.com/tutorial/post/view/170/%E0%B9%81%E0%B8%9A%E0%B9%88%E0%B8%87-session-backend-%E0%B9%81%E0%B8%A5%E0%B8%B0-frontend-%E0%B9%83%E0%B8%AB%E0%B9%89%E0%B9%80%E0%B8%9B%E0%B9%87%E0%B8%99%E0%B8%84%E0%B8%99%E0%B8%A5%E0%B8%B0%E0%B8%95%E0%B8%B1%E0%B8%A7%E0%B9%83%E0%B8%99-yii-framework-2

ตอบเมื่อ

ทดลองเปลี่ยนค่า session ให้เหมือนกันแล้ว ถ้า login จาก frontend แล้ว log out จาก backend ต้องไป logout ในหน้า frontend อีกครั้ง  แต่ถ้าlogin จากfrontend แล้ว logoutจากfrontend หรือ login จาก backend และ logout จาก backend ถึงจะได้ พูดง่ายๆคือ loginจากทางส่วนไหนต้อง logoutในส่วนนั้น ถึงจะได้ 

มานพ กองอุ่น

มานพ กองอุ่น

ตอบเมื่อ แก้ไขล่าสุดเมื่อ 3 มิ.ย. 2017, 20:13:30

เอาล่ะรู้ล่ะครับ ให้กำหนด identityCookie ให้ตรงกันครับ

แก้ไขไฟล์ backend/config/main.php

'user' => [
            'identityClass' => 'common\models\User',
            'enableAutoLogin' => true,
            'identityCookie' => ['name' => '_identity-app', 'httpOnly' => true], //แก้ identityCookie name ให้ตรงกันกับ frontend
        ],
        'session' => [
            // this is the name of the session cookie used for login on the backend
            'name' => 'app',//แก้ชื่อ session ให้ตรงกันกับ frontend
        ],

แก้ไขไฟล์ frontend/config/main.php

'user' => [
            'identityClass' => 'common\models\User',
            'enableAutoLogin' => true,
            'identityCookie' => ['name' => '_identity-app', 'httpOnly' => true],
            //'authTimeout' => 18000,
        ],
        'session' => [
            // this is the name of the session cookie used for login on the frontend
            'name' => 'app',
        ],

อย่าลืมกำหนด enableAutoLogin => true นะครับ