Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). UI Patterns (SDC in Drupal UI) 2.0.18 Minor update available for module ui_patterns (2.0.18). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

Ejector Seat

278 sites Security covered
View on drupal.org

This module provides a way to automatically log users out of your Drupal site when their session ends. It periodically checks if a user is still logged in via JavaScript and reloads the page as an anonymous user if they are not. This is useful for preventing account sharing and ensuring users are logged out across all open tabs when they log out in one.

A Drupal module to immediately log out (eject) a user whose session has ended
by Jeff Robbins / Lullabot

Ejector Seat provides some Javascript (ajax) code which checks periodically to see if a user is still logged in. If the user is NOT logged in, the current page is reloaded so that the user sees the page as an anonymous user.

This module will usually be used with either Session Limit or Automated Logout in order to reload the current page for users who have been automatically logged out by logging in at another location.

Common use case: You have a private access website and you want to be sure that users are not sharing accounts. You can use Session Limit to ensure that each user can only be logged in from one location at a time. However, a user will not be logged out until they reload the page. Ejector Seat runs an ajax script on a configurable timer (every minute by default) to check to see if the user is still logged in. If they are not, the current page is reloaded and Session Limit displays a message telling the user that they have been logged out because someone else is using their account.

Another effect of this module is that if a user has multiple tabs open of the same Drupal site, and they log out in one tab, they will be logged out in all tabs.

In order to improve performance, the ajax callback (and associated Drupal bootstrap) only runs if the Drupal page is in focus (the active front window). Once a window becomes active it will immediately do an ajax check if the script is overdue.

Activity

Total releases
5
First release
Dec 2025
Latest release
6 months ago
Releases (12 mo)
5 ▲ from 0
Maintenance
Slowing

Release Timeline

Releases

Version Type Release date
8.x-1.1 Stable Dec 18, 2025
2.0.0 Stable Dec 16, 2025
8.x-1.0 Stable Dec 16, 2025
7.x-1.1 Stable Dec 9, 2025
2.x-dev Dev Dec 9, 2025