PHPackages                             alessandronuunes/single-session - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. alessandronuunes/single-session

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

alessandronuunes/single-session
===============================

Plugin de sessão única para FilamentPHP com Laravel 12

10PHP

Since May 29Pushed 11mo agoCompare

[ Source](https://github.com/alessandronuunes/filament-single-session)[ Packagist](https://packagist.org/packages/alessandronuunes/single-session)[ RSS](/packages/alessandronuunes-single-session/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Single Session Plugin para FilamentPHP
======================================

[](#single-session-plugin-para-filamentphp)

Plugin que implementa limitação de sessão única por usuário no FilamentPHP com Laravel 12.

Características
---------------

[](#características)

- ✅ Uma sessão ativa por usuário
- ✅ Modal de confirmação nativo do Filament
- ✅ Notificações configuráveis (mail, database, broadcast)
- ✅ Traduções em inglês e português brasileiro
- ✅ Solução plug-and-play
- ✅ Sem dependências externas

Instalação
----------

[](#instalação)

1. Instale o pacote via Composer:

```
composer require alessandronuunes/single-session
```

2. Publique e execute as migrações:

```
php artisan vendor:publish 
--tag="single-session-migrations"
php artisan migrate

```

3. (Opcional) Publique as traduções:

```
php artisan vendor:publish 
--tag="single-session-translations"

```

4. (Opcional) Publique a configuração:

```
php artisan vendor:publish 
--tag="single-session-config"

```

Configuração
------------

[](#configuração)

No seu AdminPanelProvider , registre o plugin:

```
use 
Alessandronuunes\SingleSession\Filament\SingleSessionPl
ugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->default()
        ->id('admin')
        ->path('admin')
        ->plugin(SingleSessionPlugin::make()
            ->notificationChannels(['mail', 
            'database'])
        );
}

```

Canais de Notificação
---------------------

[](#canais-de-notificação)

- mail : Envia e-mail quando sessão é encerrada
- database : Armazena notificação no banco de dados
- broadcast : Envia notificação em tempo real

Configuração de E-mail
----------------------

[](#configuração-de-e-mail)

Configure as variáveis de ambiente no .env :

```
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=seu-email@gmail.com
MAIL_PASSWORD=sua-senha
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=noreply@seudominio.com
MAIL_FROM_NAME="Sistema"

```

Como Funciona
-------------

[](#como-funciona)

1. Novo Login : Se detectada sessão ativa, exibe modal de confirmação
2. Confirmação : Encerra sessão anterior e envia notificações
3. Cancelamento : Invalida nova sessão e redireciona
4. Logout : Limpa automaticamente o session\_id do usuário

Segurança
---------

[](#segurança)

- Usa autenticação nativa do Laravel
- Gerenciamento seguro de sessões
- Notificações de segurança automáticas
- Logs de atividade de sessão

Licença
-------

[](#licença)

MIT License

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance38

Infrequent updates — may be unmaintained

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity14

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/4d53fc7e3f13c6a03262261f5f6e670d8ae140b90878dd51eca3d18d27ab7423?d=identicon)[alessandronuunes](/maintainers/alessandronuunes)

---

Top Contributors

[![alessandronuunes](https://avatars.githubusercontent.com/u/13227884?v=4)](https://github.com/alessandronuunes "alessandronuunes (1 commits)")

### Embed Badge

![Health badge](/badges/alessandronuunes-single-session/health.svg)

```
[![Health](https://phpackages.com/badges/alessandronuunes-single-session/health.svg)](https://phpackages.com/packages/alessandronuunes-single-session)
```

###  Alternatives

[namshi/jose

JSON Object Signing and Encryption library for PHP.

1.8k99.6M101](/packages/namshi-jose)[league/oauth1-client

OAuth 1.0 Client Library

99698.8M106](/packages/league-oauth1-client)[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[gesdinet/jwt-refresh-token-bundle

Implements a refresh token system over Json Web Tokens in Symfony

70516.4M35](/packages/gesdinet-jwt-refresh-token-bundle)[league/oauth2-google

Google OAuth 2.0 Client Provider for The PHP League OAuth2-Client

41721.2M118](/packages/league-oauth2-google)[illuminate/auth

The Illuminate Auth package.

9327.3M1.0k](/packages/illuminate-auth)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
