Controle de login usando um Session Bean

4 respostas
mfbottoni

Olá.

Estou trabalhando em uma página web usando jsp. Nela quero exibir duas caixas de texto e um botão, para entrada dos dados “usuario” e “senha”, para a realização do login. Mas quero que isso apareça na tela apenas se o usuário não estiver logado. Quando estiver gostaria de mostrar um texto como “Bem vindo(a) FULANO!”

Estou usando um session bean para validar esse login. Queria saber como faço para atribuir um valor obtido pela tag “<jsp:getProperty …”
Minha ideia era algo parecido com isso:

<jsp:useBean id="LoginBean" class="beans.LoginBean" scope="session" />
<%
boolean logado = false;
logado = %> <jsp:getProperty name="LoginBean" property="logado"/> <%;%>

Porém, assim não da pra fazer! Alguém saberia me dizer como devo fazer? Ou se devo fazer de alguma maneira totalmente diferente, tipo, “Não se usa esse tipo de coisa para fazer controle de login!!! :(”

Muito obrigado!
Abraço, Bottoni

4 Respostas

JonathanSSantos

ja tento pega pelo httpSession? :smiley:

caraujocruz

Você pode criar um filtro que verifica se o usuário está logado, algo assim :

@Override
	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		// TODO Auto-generated method stub
		
		HttpServletRequest req = (HttpServletRequest) request;
		HttpServletResponse resp = (HttpServletResponse) response;
		
		//Abre uma session !
		HttpSession session = req.getSession();
		session.getAttribute("checkLogin");

		Usuarios usuario = (Usuarios) session.getAttribute("checkLogin");
		
		if(usuario == null){
			  //ele vai retornar o erro 401 ai voce para configura no web.xml para ele mandar para o login.

                                }
		
		chain.doFilter(request, response);
		
	}

abs,

caraujocruz

falto essa linha dentro do if.

resp.sendError(HttpServletResponse.SC_UNAUTHORIZED);
JonathanSSantos

esta é a melhor soluçao!

Criado 16 de dezembro de 2009
Ultima resposta 17 de dez. de 2009
Respostas 4
Participantes 3