Doğrudan çıkış bağlantısı


14

Giriş / çıkış formunu aşağıdaki bağlantıyla görüntüleyebileceğimi biliyorum:

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

Ancak giriş yaptıktan sonra, bu bağlantı kullanıcıyı tıklanması gereken oturum kapatma düğmesiyle bir sayfaya yönlendirecektir.

Mevcut kullanıcının oturumunu doğrudan kapatacak bir bağlantı oluşturmak mümkün müdür?

Yanıtlar:


24

Aşağıdaki bağlantı doğrudan çıkış içindir:

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

Ancak bir hata mesajından kaçınmak için bir kullanıcı belirteci gerekir Invalid Tokenve belirteci almak için bazı PHP sihirbazı gerekir. Aşağıdaki kod, Loginkonuklara bir Logout Usernamebağlantı ve giriş yapan kullanıcılara doğrudan bir bağlantı görüntüler:

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

Kod, herhangi bir uzantıya veya PHP kodunun doğrudan eklenmesine izin veren bir eklenti / modül kullanılarak eklenebilir (örn. DirectPHP , Custom HTML Advanced , Sourcerer veya benzeri).


1
Haha, çok açık ...? Bunun için üzgünüm. Adil olmak gerekirse, kod snippet'ini oldukça yararlı buluyorum ve altbilgide küçük, müdahaleci olmayan bir giriş bağlantısı olması için her zaman istemci web sitelerinde kullanıyorum. Sadece kodu göndermek için ne soracağından emin değildi.
johanpw

+1 Son derece kullanışlı! Bundan sonra belirli bir sayfaya nasıl yönlendirme yapabilirsiniz? &additional_parameteroturumdan sonra yeniden yönlendirmeye izin vermek için kullanılabilecek bazıları var mı?
Gruber

Hey bunun için teşekkürler! Bunun biraz daha ayrıntılı olarak açıklandığı bazı belgeleri sağlayabilir misiniz? Teşekkür ederim!
Gruber


6

Son bir cevap olarak, Joomla'da 3.4 * belki 3.5 civarında olduğunu düşündüğüm çekirdeğe eklenen yerleşik bir "Çıkış" menü öğesi var. Artık ek bir eklentiye ihtiyacınız yok.

Çıkış menü öğesi ayrıca çıkışta yeniden yönlendirmeye izin verir.

Ayrıca Giriş menüsü öğenizi 'Misafir' erişimine ve Çıkış menü öğenizi 'Kayıtlı' erişim olarak ayarlarsanız, durumunuza bağlı olarak menü değişir.

Ayrıntılı SE yanıtı burada: Oturumu Kapat için Değiştir


Bu, yalnızca Joomla'nın temel işlevlerini kullandığından, Joomla'nın güncel bir sürümünü kullanan web siteleri için muhtemelen en iyi yaklaşımdır. Bununla birlikte, gerçekten programlı olarak bir oturum kapatma bağlantısı oluşturmanız gerekiyorsa, "kabul edilen cevap" iyi bir çözümdür.
feculededentier

4

Üçüncü bir seçenek olarak, Joomla'ya doğrudan oturum kapatma menü öğesi ekleyen ve kullanıcıların onay olmadan oturumunu kapatan bir Hızlı Oturum Kapatma bileşeni vardır.

Ayrıca, oturumu kapattıktan sonra istenen sayfaya yeniden yönlendirme ayarlama seçeneği de sunar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.