ลิงค์ออกจากระบบโดยตรง


14

ฉันรู้ว่าฉันสามารถแสดงฟอร์มล็อกอิน / ล็อกเอาต์พร้อมลิงค์ต่อไปนี้:

http://example.com/index.php?option=com_users&view=login

แต่เมื่อเข้าสู่ระบบลิงค์นี้จะเปลี่ยนเส้นทางผู้ใช้ไปยังหน้าด้วยปุ่มออกจากระบบที่จะต้องคลิก

เป็นไปได้หรือไม่ที่จะสร้างลิงค์ที่จะออกจากระบบผู้ใช้ปัจจุบันโดยตรง?

คำตอบ:


24

ลิงค์ต่อไปนี้มีไว้สำหรับล็อกเอาต์โดยตรง:

http://example.com/index.php?option=com_users&task=user.logout

แต่ต้องใช้โทเค็นของผู้ใช้เพื่อหลีกเลี่ยงข้อความแสดงข้อผิดพลาดInvalid Tokenและต้องใช้เวทย์ PHP บางอย่างเพื่อรับโทเค็น รหัสต่อไปนี้จะแสดงLoginลิงค์ไปยังแขกและLogout Usernameลิงค์โดยตรงไปยังผู้ใช้ที่เข้าสู่ระบบ:

$user = JFactory::getUser();
if ($user->guest)
{
    echo '<a href="index.php?option=com_users&view=login">Login</a>';
}
else
{
    $userToken = JSession::getFormToken();
    echo '<a href="index.php?option=com_users&task=user.logout&' . $userToken . '=1">Logout '  . $user->username . '</a>.';
}

รหัสสามารถรวมอยู่ในส่วนขยายใด ๆ หรือใช้ปลั๊กอิน / โมดูลที่อนุญาตให้ใส่รหัส PHP โดยตรง (เช่นDirectPHP , HTML ขั้นสูงที่กำหนดเอง , นักชิมหรือคล้ายกัน)


1
ฮ่าฮ่าชัดเจนเกินไป ... ขอโทษสำหรับเรื่องนั้น. อย่างไรก็ตามเพื่อความเป็นธรรมฉันพบว่าข้อมูลโค้ดค่อนข้างมีประโยชน์และใช้มันตลอดเวลาบนเว็บไซต์ของลูกค้าเพื่อให้มีลิงค์ล็อกอินขนาดเล็กที่ไม่ล่วงล้ำในส่วนท้าย ฉันไม่แน่ใจว่าจะถามอะไรเพื่อโพสต์รหัส
johanpw

+1 มีประโยชน์มาก! คุณจะเปลี่ยนเส้นทางไปยังหน้าใดหน้าหนึ่งได้อย่างไร มีบางอย่าง&additional_parameterที่สามารถใช้เพื่ออนุญาตการเปลี่ยนเส้นทางหลังจากออกจากระบบหรือไม่
Gruber

เฮ้ขอบคุณสำหรับสิ่งนี้! คุณสามารถให้เอกสารที่อธิบายรายละเอียดเพิ่มเติมอีกเล็กน้อยได้ไหม? ขอขอบคุณ!
Gruber


6

ในฐานะที่เป็นคำตอบสุดท้าย Joomla มีรายการเมนู "ล็อกเอาต์" ในตัวเพิ่มเข้าไปในแกนผมคิดว่าประมาณ 3.4 * อาจ 3.5 ดังนั้นตอนนี้คุณไม่ต้องการปลั๊กอินเพิ่มเติม

รายการเมนูออกจากระบบยังอนุญาตให้เปลี่ยนเส้นทางเมื่อออกจากระบบ

นอกจากนี้หากคุณตั้งค่ารายการเมนูเข้าสู่ระบบเป็น 'ผู้เยี่ยมชม' และรายการเมนูออกจากระบบของคุณเป็น 'ลงทะเบียน' การเข้าถึงเมนูจะเปลี่ยนไปตามสถานะของคุณ

คำตอบ SE โดยละเอียดที่นี่: เปลี่ยนการเข้าสู่ระบบออกจากระบบ


นี่อาจเป็นวิธีที่ดีที่สุดสำหรับเว็บไซต์ที่ใช้ Joomla รุ่นล่าสุดเนื่องจากใช้เพียงฟังก์ชั่นหลักของ Joomla หากคุณต้องการสร้างลิงก์ออกจากระบบโดยทางโปรแกรมอย่างไรก็ตามคำตอบที่ได้รับการยอมรับเป็นทางออกที่ดี
feculededentier

4

เป็นตัวเลือกที่สามมีส่วนประกอบQuick Logoutซึ่งเพิ่มรายการเมนู logout โดยตรงใน Joomla และจะออกจากระบบผู้ใช้โดยไม่มีการยืนยัน

นอกจากนี้ยังมีตัวเลือกในการตั้งค่าการเปลี่ยนเส้นทางไปยังหน้าที่ต้องการหลังจากออกจากระบบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.