Sep 7, 2009

Διαβάζοντας την ταυτότητα του χρήστη (user identity) στο JAX-WS

Σε παλαιότερο άρθρο (http://serafeimk.blogspot.com/2008/12/user-identity-jax-rpc-2.html) είχαμε αναφερθεί στο πώς θα βρούμε την ταυτότητα του logged-in user όταν προγραμματίζουμε web services σε JAX-RPC. Στο νεώτερο JAX-WS, που υποστηρίζεται από το Weblogic 10.3, για να αποκτήσουμε αυτή την πληροφορία δεν χρειάζεται να κληρονομήσουμε από κανένα interface, αφού όλη τη δουλειά για εμάς την κάνει ο container με το injection του web service context. Ένα απλό παράδειγμα χρήσης σε ένα Web Service:


@Resource
private WebServiceContext ctx;
/**... Declarations ... **/
public String getLoggedUser() {
return (ctx != null ? ctx.getUserPrincipal().getName() : null);
}

No comments: