Para capturar o username do usuário da sessão é bem simples. Basta informar a requisição/request (HttpServletRequest ) para o método abaixo.

/**
 * Retorno o <code>username</code> do usuário da sessão.
 * @param request Requisição original
 * @return <code>String</code> username
 */
public String getUserNamePrincipal(HttpServletRequest request) {
	Principal p = request.getUserPrincipal();
	String username = null;
	if (p != null)
		username = p.getName();
	return username;
}
  • Linha 7, obtem o user “java.security.Principal” da requisição.
  • Linha 10, captura o “username” de Principal da sessão.

Utilize o método acima em servlets ou derivados e obtenha o username do usuário registrado na sessão, exemplo:

import java.io.IOException;
import java.security.Principal;
import java.util.logging.Logger;

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

/**
 * Servlet exemplo para obter username de <code>UserPrincipal</code>
 * @author Ednei Parmigiani Júnior
 */
public class MyServlet extends HttpServlet {
	private static final long serialVersionUID = -8830700427897524550L;
	private Logger logger = Logger.getLogger(this.getClass().getName());

	/**
	 * Construtor padrão.
	 */
	public MyServlet() {
		super();
	}

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		process(req);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		process(req);
	}

	private void process(HttpServletRequest req) {
		String userName = getUserNamePrincipal(req);
		logger.info(String.format("username do usario da sessao: %s", userName));
	}

}
  • Linha 38, o método “getUserNamePrincipal” é executado.
  • Linha 39 o username obtido descarregado no log.

Para que o username do usuário logado na sessão seja capturado, é obrigatório que o mesmo tenha sido setado na sessão, caso contrário “null” será retornado.

Por enquanto é isso, até o próximo post.

5 comentários para “Obter username do usuário da sessão

  1. Good to be visiting your websiteblog again, it has been weeks for me. Well this is the article that i’ve been waiting for so long. I can use this article to end my assignment in the college, and it has same topic like your post. Regards, excellent share.

  2. I couldn’t resist commenting, Many thanks a whole lot for sharing!

  3. I simply want to tell you that I am just new to weblog and actually liked you’re web-site. Very likely I’m likely to bookmark your site . You absolutely have beneficial well written articles. Regards for sharing your web page.

Deixe um comentário

Campos obrigatórios são marcados *

Post Navigation