Perfil/controle de acesso a aplicação

Olá a todos, já rodei na net e não encontrei nada, o tio google não está resolvendo, então estou aqui.
Estou desenvolvendo uma aplicação em JSP + Servlets e gostaria de implementar um controle de acesso a aplicação, ou seja tem usuários que poderá excluir/alterar dados e outros que não poderá excluir/alterar dados.
Alguém tem algum tutorial ou exemplo para me passar?

A paz!!!

Cara, eu criaria no sistema uma tabela GRUPO_USUARIO e atribuiria um grupo (ou mais, dependendo do cenario de cada um…rsrs) e assim:

package br.com.vinicius.locadora.controle.servlet;

import java.io.IOException;
import java.rmi.ServerException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.com.vinicius.locadora.modelo.bean.Usuario;

public class UsuarioServlet {
	public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServerException, IOException{
		Usuario usuario = //pegando o usuario do sistema;
		GrupoUsuario grupo = usuario.getGrupo();
		if("gerente".equals(grupo.getDescricao())){
			//pode remover/alterar
		}
		else if("funcionario".equals(grupo.getDescricao())){
			//pode altera/pesquisar
		}
		else if("cliente".equals(grupo.getDescricao())){
			//pode apenas pesquisar
		}
	}
}

Espero ter ajudado!

Spring security

Cara, se você estiver utilizando banco de dados nesta aplicação, sugiro que faça estas restrições através do banco de dados, dando os devidos grant’s de acesso para cada usuário.

Abraço!

Eu concordo com o criador, mas eu tinha um professor que falava que devemos garantir o acesso em todas as camadas da aplicação… no browser (JavaScript ou algo assim), no servidor (Java) e no SGBD…

Eu gostaria de fazer isto na aplicação, na camada de controle, independente do banco de dados. Estou pensando em criar uma tabela no banco com o nível de privilégio que cada usuário terá, mais ai é que está, estou meio confuso com isto.
Alguém tem mais alguma idéia?

A paz!