Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Evitar acesso ao Controller através da URL

Olá pessoal, tudo bem? Minha dúvida é a seguinte:

Tenho um sisteminha WEB e não quero permitir que o usuário acesse as páginas alterando a URL. Só seria permitido que o usuário acessasse o Controller através de botões na tela, imagens, menus, etc... nunca pela URL. Este cenário deve ocorrer para o usuário já logado. Com ele deslogado já funciona perfeitamente. Espero que vocês possam me ajudar nesta.

Grande abraço
5 respostas

Boa tarde !

Já tentou gravar a session dele? E toda vez que ele tentar acessar uma url fora do escopo do sistema, você realiza a validação se o usuário está logado ou não?

att

Olá, César. Boa Tarde! Quando o usuário DESLOGADO tenta acessar qualquer página através da URL, o sistema consegue verificar que ele está deslogado e redireciona o mesmo para a página de Login. Isto está perfeito! Meu grande problema é quando o usuário está LOGADO. Eu quero obrigar que ele só consiga acessar os controllers caso o mesmo tenha sido chamado por alguma ação em tela e não pela mudança da URL. Espero que eu tenha conseguido me expressar direito. Abraço e valeu pela ajuda.

solução!

Conseguiu sim Fábio,

Sinceramente eu não consigo fazer o que precisa mas em conversa com um colega que programa em php, ele deu a seguinte ideia. Capturar evento de clique do botão que direciona para outra página, pode ser usando Jquery ou outra linguagem que tem facilidade e adicionando True nela caso o usuário clique no botão. Já inicie a página setando false nela para dar certo.

Quando ele cair na controller, você realiza a validação dessa variável, caso seja true você deixa permanecer na página, caso false direcione para uma página específica ou alguma outra que deseja. Indico que passe as variáveis via post para não deixar o usuário comum acessa-las facilmente.

Conseguiu entender?

Espero ter ajudado.

Valeu pela ajuda, César!

Gostei bastante da Solução e creio que irei utilizá-la mesmo.

Abraço!

As ordens, eu que agradeço, precisando estamos a disposição.