Ich bin gerade dabei mich in Java ein wenig zurecht zu finden.
Da meine mir bevorstehende Aufgabe ein XML Web Service sein wird, habe ich dahin gehend nun auch meine ersten Gehversuche gemacht.
Leider bekomme ich es nicht hin, eine Anmeldung in Java zu implementieren.
Hier mal vorweg ein wenig code:
@Path( "greeting" )
public class Greeting {
@Resource
WebServiceContext oContext;
@GET
@Produces( MediaType.APPLICATION_XML )
public cos.User greeting()
{
cos.User oUser = new cos.User();
oUser.Firstname = "evil";
oUser.Lastname = "homer";
oUser.pk = 1;
oUser.Username = "evilhomer";
return oUser;
}
}
Nun hätte ich gerne, das in Greeting geprüft wird ob der Benutzer angemeldet ist und wenn nein, er sich anmelden muss. Sei es per HttpAuth oder ähnlichem.
Könnt ihr mir da mal ein „best practice“ zeigen.
Vielleicht sehe ich den Wald vor lauter Bäumen nicht mehr, aber ich komme zur Zeit nicht weiter.
Vielleicht fehlen mir auch die Wörter nach den ich suchen muss.
Wäre echt spitze, wenn mir da jemand ein wenig helfen könnte.
Danke für die Antwort - wenn es so einfach wäre hätte ich nicht gefragt.
Ich habe mir aber ein Beispiel ohne Glassfish Webserver oder so erhofft.
Ich erstelle mir mit der HttpServerFactory ja eine HTTP Server, wie bekomme ich diesem nun beigebracht, das er bei Anfragen zuerst nach Benutzer und Kennwort fragt.
Insgesamt hat man natürlich ein Problem: sehr simples REST bedeutet dann natürlich, dass man beim Rest (also bei bei allem anderen Krempel… lol) mehr leisten muss.
REST mit einem richtigen Webserver (oder Applicationserver) bedeutet, dass man ausgewachsene, deklarative Secrity nutzen kann.
Aber es ist m.E. sinnvoller, einen voll ausgewachsenen REST Service zu entwerfen, mit einem richigen Webserver. Die Möglichkeiten von Jersey und dem Jetty Server sind begrenzt. Das stellt aber nicht das Protokoll im ganzen für den produktiven Einsatz in Frage.
[QUOTE=FArt]Wie kommst du da drauf? Das sehe ich nicht so.
Aber es ist m.E. sinnvoller, einen voll ausgewachsenen REST Service zu entwerfen, mit einem richigen Webserver. Die Möglichkeiten von Jersey und dem Jetty Server sind begrenzt. Das stellt aber nicht das Protokoll im ganzen für den produktiven Einsatz in Frage.[/QUOTE]
O.K. das habe ich deinem einen Post zu entnommen.
„Problem“ bei einem Webserver ist… jetzt muss ich ein wenig ausholen.
Das Programm soll später bei X Kunden im Netzwerklaufen, diese Kunden haben KEINEN Admin od. ähnliches. Der Kern des Programms, der die Business Logik hat soll aber Schnittstellen basiert sein.
Alles nicht so einfach in einem Post unter zu bringen.
[QUOTE=evilhomer]
Das Programm soll später bei X Kunden im Netzwerklaufen, diese Kunden haben KEINEN Admin od. ähnliches.[/QUOTE]
Auch der integrierte Webservice ist ein Webservice. Die Problematiken des Betriebs eines Webservice in einem beliebigen (und fremden) Netzwerk sind die selben, ob mit Tomcat oder einem anderen Webserver.
Die Anforderung per se ist ein hehrer Wunsch, in der Praxis oft mit Problemen behaftet.
Nicht ganz, der Webserver wäre immer noch ein Fremdprodukt.
Zumindest in den Augen des Kunden.
Die haben dann wieder die Angst - wenn die nur das Wort Webserver hören - das sie dann, wenn was nicht geht damit nicht zurecht kommen.