Liên kết đăng xuất trực tiếp


14

Tôi biết tôi có thể hiển thị biểu mẫu đăng nhập / đăng xuất với liên kết sau:

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

Nhưng một khi đã đăng nhập, liên kết này sẽ chuyển hướng người dùng đến một trang có nút đăng xuất phải được nhấp.

Có thể tạo một liên kết sẽ đăng xuất trực tiếp người dùng hiện tại không?

Câu trả lời:


24

Liên kết sau đây là để đăng xuất trực tiếp:

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

Nhưng mã thông báo người dùng được yêu cầu để tránh thông báo lỗi Invalid Tokenvà một số phép thuật PHP được yêu cầu để có được mã thông báo. Đoạn mã sau sẽ hiển thị một Loginliên kết đến khách và Logout Usernameliên kết trực tiếp đến người dùng đã đăng nhập:

$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>.';
}

Mã này có thể được bao gồm trong bất kỳ tiện ích mở rộng nào hoặc sử dụng plugin / mô-đun cho phép chèn mã PHP trực tiếp (ví dụ DirectPHP , Advanced HTML Advanced , Sourcerer hoặc tương tự).


1
Haha, quá rõ ràng ...? Xin lỗi vì điều đó. Mặc dù vậy, công bằng mà nói, tôi thấy đoạn mã khá hữu ích và sử dụng nó mọi lúc trên các trang web của khách hàng để có một liên kết đăng nhập nhỏ, không xâm phạm ở chân trang. Tôi chỉ không chắc chắn về những gì cần hỏi để gửi mã.
johanpw

+1 Vô cùng hữu ích! Làm thế nào bạn có thể thực hiện chuyển hướng đến một trang cụ thể sau nó? là có một số &additional_parametercó thể được sử dụng để cho phép chuyển hướng sau khi logout?
Gruber

Này, cảm ơn vì điều này! Bạn có thể cung cấp một số tài liệu trong đó điều này được giải thích chi tiết hơn một chút? Cảm ơn bạn!
Gruber


6

Như một câu trả lời cuối cùng, Joomla có một mục trình đơn "Đăng xuất" tích hợp, được thêm vào lõi tôi nghĩ khoảng 3,4 * có thể 3,5. Vì vậy, bây giờ bạn không cần bất kỳ bổ sung.

Mục menu đăng xuất cũng cho phép chuyển hướng khi đăng xuất.

Ngoài ra, nếu bạn đặt mục menu Đăng nhập thành quyền truy cập 'Khách' và mục menu Đăng xuất của bạn thành quyền truy cập 'Đã đăng ký', menu sẽ thay đổi tùy theo trạng thái của bạn.

Câu trả lời SE chi tiết tại đây: Thay đổi Đăng nhập để Đăng xuất


Đây có lẽ là cách tiếp cận tốt nhất cho các trang web sử dụng phiên bản cập nhật của Joomla vì nó chỉ sử dụng các chức năng cốt lõi của Joomla. Tuy nhiên, nếu bạn thực sự cần lập trình liên kết đăng xuất, thì "câu trả lời được chấp nhận" là một giải pháp tốt.
feculeredentier

4

Là một tùy chọn thứ ba, có một thành phần Đăng xuất nhanh có thêm một mục menu đăng xuất trực tiếp trong Joomla và sẽ đăng xuất người dùng mà không cần xác nhận.

Nó cũng cung cấp tùy chọn để đặt chuyển hướng đến một trang mong muốn sau khi đăng xuất.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.