poniedziałek, 19 stycznia 2009

Pobieranie loginu z kontekstu

Podobno wiele osób o to prosiło (jak coś chcecie to bezposrednio do nas, nie gryziemy ^^), więc zamieszczam kod autorstwa Szymona Szypulskiego, pozwalający wyciągnąć z kontekstu login aktualnie zalogowanego użytkownika. Jeżeli chcemy używać tej funkcji musi być w beanie zdefinowane pole login, inaczej przy używaniu jej możemy dostać error o treści Property not found.
public String getLogin() {
FacesContext kontekst = FacesContext.getCurrentInstance();
ExternalContext ekontekst = kontekst.getExternalContext();
String user = ekontekst.getRemoteUser();
if( user != null)
return user;
return null;
}

Możemy też skorzystać z kodu zaproponowanego przez Bartka:
Principal user = FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal();
String login = user.toString();


To by było chyba na tyle jeśli idzie o pobieranie loginu.
Pozdrawiam i zapraszam do komentawania

Drzazga:
Od siebie dodam jeszcze sprawdzanie czy user jest zalogowany w określonej roli:

public boolean getIsInAdminRole() {
return FacesContext.getCurrentInstance().getExternalContext().isUserInRole("admin");
}

2 komentarze:

  1. No nie wiem PANY jak wam dziękować - tego właśnie mi było trzeba ^^ Teraz jak sieci mamy za sobą powinienem dosiąść się znów do projektu i może tym samym wnieść coś w dyskusję :) No ale póki co wszystko ładnie wychodzi i z ciekawych spostrzeżeń u mnie nici ^^ To na chwile obecną wszystko - macie we mnie stałego czytelnika :P

    OdpowiedzUsuń
  2. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń