Filtro não intercepta requisições vindas através de botões

Olá pessoal, estou com um problema, crie um Filtro para autenticar minha aplicação com Sessões, pois bem quando clico em um link e a sessão expirou vai para uma tela de login, quando volto através do navegador para as páginas anteriores e clico em algum link que redireciona para outra página é verificado que a sessão expirou e vai para tela de login(até aqui tubo bem!).

O problema é quando volto as páginas através do navegador e vou para uma tela que tenha uma ação realizada com botões: cadastrar, atualizar, remover. Quando clico em um botão ele executa a ação normalmente mesmo com a sessão expirada!

tentei auto refresh nas páginas via javascript, pois cada página tem um código que verifica se a sessão está ativa e caso o botão fosse clicado e a página fosse atualizada seria verificada que a sessão expirou e iria para a tela de login, mas não resolveu. pelo contrário a sessão não expira com o auto refresh.

Não entendo porque o filtro não intercepta essas ações já que todas vão bater em um Servlet e o Filtro recebe as requisições antes dos Servlets.

Eu queria que ao clicar em um botão para realizar uma ação e a sessão já tivesse sido expirada a aplicação fosse redirecionada para a tela de login! como acontece quando clico em um link.

alguém pode ajudar?

alguém pode Ajudar?