Dúvida Filter Login - (Admin - Cliente)

4 respostas
X

Pessoal, Bom dia.
Tenho uma aplicação, nela preciso fazer login (já implementado e funcionando corretamente). Na aplicação tem o modulo Admin e o Modulo Cliente…
O que devo fazer para ter essa divisão? o Admin tem acesso ao modulo admin, e o cliente tem acesso apenas ao modulo cliente.

Pensei em criar um campo no banco de dados para identificar um admin, e no momento da identificação ele seria direcionado para o modulo admin… e o mesmo para o cliente… mas acredito que quando o cliente entrar com uma URL ele terá acesso não permitido.

Alguem poderia me sugerir algo? como poderia fazer isso? utilizo JSP puro + Servlet. quem puder ajudar, agradeço… Abço.

4 Respostas

gabrielemidio

Opa X00n tanta fazer assim cria um JComboBox na tela de Login nela coloca como opções de Admin e Cliente, ai no banco na tabela de usuário você coloca nível de acesso para os usuário se logar como Admin vc coloca com 1 ja cliente 2 ai entre esse logon vc define o qeu pode abrir para adm e o que pode abrir para o cliente. mais ou menos assim.

X

Opa, vlw gabrielemidio…Acho que o problema é justamente esse, como que defino quem pode ver o que? no proprio Filtro?
poderia me dar um simples exemplo?

Abço, Obrigado.

H

Olá. No cadastro de usuários você coloca um identificador (admin, cliente).
Na parte onde ficam as suas páginas você divide elas em pastas.

Por exemplo:

-WebContent/
     |
     -pages/
          |
          -admin/
          |    |
          |    - aqui ficam todas as páginas que o usuário admin pode ter acesso.
          |
          -cliente/
               |
               - aqui ficam todas as páginas que o usuário cliente pode ter acesso.

E no seu filtro você verifica se ele tem permissão para visualizar a url que ele está tentando acessar.

Espero ter ajudado.

X

Desculpe a demora.

O problema está sendo justamente com o Filter, não sei como fazer para separar User/Admin... Meus arquivos estão organizados como acima.
public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain)
            throws IOException, ServletException {

        HttpServletRequest req = (HttpServletRequest) request;
        HttpServletResponse res = (HttpServletResponse) response;
        Object logged = req.getSession().getAttribute("isLogged");
        Object admin = req.getSession().getAttribute("isAdmin");

        String url = req.getRequestURL().toString();

        if (logged != null || url.contains("erroLogin.jsp") || url.contains("login.jsp") || url.contains("/LoginServlet")) { //passa pela tela de login
           
         //   Boolean aux = (Boolean) admin;
         //    if (aux == false && url.contains("???")) {
         //       chain.doFilter(request, response);
         //   } else {
         //        ? ?
         //   }
            

        } else {
            res.sendRedirect("login.jsp");

        }
    }
Alguem poderia me ajudar... Obrigado. Abço.
Criado 30 de julho de 2011
Ultima resposta 14 de ago. de 2011
Respostas 4
Participantes 3