Quem sou eu

Minha foto

Formado em Computação, desenvolvedor web, interessado em tecnologia, metaleiro e um gamer inveterado.

Pesquisar

terça-feira, 19 de abril de 2011

Matando a sessão de um usuário remotamente

Hoje presenciei uma nova necessidade. Precisava deslogar um usuário/cliente a partir da administração. Como de costume, no Django não é muito complicado. Tenho uma aplicação de acesso que recebe uma entrada contendo qual é o cliente, hora de acesso e a chave da session gerada para ele.
Gravo na coluna sessão a session_key no ato do login,  que pode ser obtida assim:

request.session.session_key

E para deslogar o usuário, basta fazer isso em alguma view:


from django.contrib.sessions.backends.db import SessionStore
s = SessionStore(session_key=skey)
s.delete()


hasta!