Zum Inhalt springen

WebService Authentifizierung


Empfohlene Beiträge

Geschrieben

Hi

Also meine WebSerive braucht natürlich auch eine gewisse Sicherheit. Das bereits bestehende Project wozu ich einen WS entwickeln soll besitzt bereits eine Passwortabfrage. Es soll möglich sein das man sich beim starten des WS indentifizieren muss mit einen gegeben Username und Passwort. Ich weis jedoch nicht ob das so einfach geht und ich einfach in meine WS den bereits vorhanden security log einbinden kann oder nicht. Ich habe schon im Netz rumgeschaut aber kein passendes Tut. gefunden nur für .Net oder MS usw.

Ich benutze Eclipse WS mit Tomcat als server und einer MYSql Datenbank dazu.

Ich hoffe jemand kann mir bei dem Thema weiterhelfen.

Danke

Geschrieben

Definiere gewisse Sicherheit. Denn das ist hier ein reines Ratespiel. Ein Webservice kann über mehrere Wege gesichert werden und es können auch im SOAP Header Werte für eine Authentifizierung mit gegeben werden. Hier ist es aber wichtig zu wissen was kann dein Service Provider überhaupt verarbeiten? Also kann er etwas mit einem BinaryToken anfangen reicht vielleicht ein UserName Token aus.

Was können deine Service Consumer überhaupt anbieten. Können sie ein Binary Token erzeugen oder nicht.

Geschrieben

hmm.

Also wie gesagt es so soll sein das der User den einen Namen und ein passwort eingeben muss und dieser Abgefragt wird ob dieser stimmt. Wenn ja dann hat er zurgriff auf den ganzen WS.

Kann ich dafür denn bestehene Sicherheitsabfrage mit pass. und username nutzen oder muss ich eine komplett neue implementieren?

danke

Geschrieben

Da hier keine weiß wie die bisherige User Abfrage implementiert ist ist das wildes rum Raten. Was sind die Anforderungen? Soll es einen Single-Sign-On geben oder kannst du dich für jeden Service neu anmelden? Fragen über Fragen die von dir nicht beantwortet werden. Auch Fragen die ich hier schon eher gestellt habe werden nicht beantwortet. Wie soll man dir da helfen?

Ich habe schon öfters geschrieben das du dir erstmal Gedanken über deine Anwendung machen sollst. Es gibt nicht um sonst eine Phase in der Softwareentwicklung die sich Design nennt. Bevor man etwas entwickeln kann muss einem klar sein was raus kommen soll und wie die Randbedingungen sind. Ansonsten ist das wilden zusammensetzen von Komponenten ohne zu wissen ob das was raus kommt überhaupt das ist was der Kunde will.

Geschrieben

Hallo

Also ich versuche jetzt mal die ganze Sache deutlich zu machen und hoffe damit alle Fragen beanworten zu können.

Also es gibt ein Project und zu diesen Project sollte ich WebService entwickeln, der es möglich macht Dokumente nach Schlagwörtern zu durchsuchen und diese dann in einer Liste auszugeben. Das habe ich auch schon fertig. Jedoch ist es ja so, dass dieser WebService nur von Leuten benutzt werden darf, die auch die nötigen Authentifizierungsrechte besitzen. Also sie sollten voher einmal ihr passwort mit Bentuzername eingeben und dann sollten sie die dazugehörigen Recht bekommen nach bestimmte Dokumenten such zu können. Diese Rechte usw. sind im Programm bereits verwaltet. Es sollte dann wie eine art Session wirken, dass sich also nicht bei jeden neuen ausführen neu anmelden müssen.

Dieser Service soll den Nutzern dann zur Verfügung stehen ohne zu wissen was sie haben oder nicht.

Danke

Geschrieben
Jedoch ist es ja so, dass dieser WebService nur von Leuten benutzt werden darf, die auch die nötigen Authentifizierungsrechte besitzen. Also sie sollten voher einmal ihr passwort mit Bentuzername eingeben und dann sollten sie die dazugehörigen Recht bekommen nach bestimmte Dokumenten such zu können.

und woher kommen die Authentifizierungsdaten? bzw wo gegen muss authentifiziert werden?

Diese Rechte usw. sind im Programm bereits verwaltet.

z.b. wäre das eine Möglichkeit Single Sign-on ? Wikipedia

Wie ich Dir in einem vorhergehenden Posting schon geschrieben hatte, wenn der WS über http läuft, dann wandel in in https um und du kannst über htaccess (bei Apache) ihn so schützen wie eine Webseite mit Benutzerauthentifikation und verschlüsselter Verbindung.

Phil

P.S. Dein letztes Posting unterscheidet sich nicht groß zu dem OP. Du solltest auch die Fragen, die gestellt werden, beantworten

Geschrieben

Hi

Also es geht jetzt nicht erstrangig den WS zu schützen vor angreifern oder so, sondern mehr um die Authentifizierung. Also es geht nicht die ganze Sache in HTTP einfach umzuwandeln und dann mit htaccess zu schützen, weil das nicht zum gewünschten ergebnis führen würde.

Also ich glaube ich muss weiter ausholen, weil es sonst für mich schwer wird alles zu erklären. Also im Project gibt es bereits eine Anmeldung wo der Benuzer sich anmeldet mit seinen Username / Passwort. er erhält den Status den er zugeordnet wurde.( darüber aber keine Gedanken). Er hat dann z.B die recht lesen oder schreiben usw.

Der Webservice enthält eine Funktion die es ermöglicht Dokumente nach Schlagwörtern zu durchsuche. Bis jetzt muss man bei dieser den Suchbegriff eingeben und die ID, mit welcher der Status gescheckt wird, weil er ja vielleicht nicht alle Dokumente lesen darf. Diese ganzen Dinge funktionieren ja auch schon.

So jetzt soll sich der benutzer des WS anmelden mit seinen benutzernamen / Passwort. Wenn möglich sollte es so funktionieren, das dies dann bloss zu der bisherigen Passwortabfrage weitergeleitet wird und dann geht es ja den Weg mit der Status alleine. So es muss natürlich die ganze Zeit weitergegeben werden, sodas der User sich nicht dauernd neu anmelden muss. Also müsste z.B bei der suchfunktion wo bis jetzt die ID eingebeben wird nun Automatischm der Status übergeben werden, weil ja sonst der Userer aus seinen eigene Status einfluss hätte. Das muss auch irgendwie gehen ohne das komplette XML-File auseinanderezubauen.

Ich weis jetzt gar nicht was ich alles dazu brauche und wie genau ich das jetzt wie einbinden und benutzen sollte.

Ich hoffe ihr versteht mich.

Geschrieben

Warum übergibst Du dann nicht Benutzername und Passwort an den WS mit, überprüfst es und führst die gewünschte Aktion beim korrekten PW durch, wenn nicht, erzeugst Du eine Fehlermeldung. Ich würde dann nur den WS wirklich per SSL schützen, da sensible Daten übertragen werden.

Aufwendiger ginge es auch: Schreibe einfach in DB eine Art Session mit Timestamp, wann der User das letzte Mal den WS verwendet hat, so lange der Timestamp gültig ist, muss kein neuer Username usw eingegeben werden. Bzw erzeugst Du ebenfalls den Timestamp, wenn sich der via Webinterface einloggt

Phil

Geschrieben

hmm...

Geht es so einfach wenn ich die Methode der Benutzer / Passwortabfrage aus dem Project einfach an den WS weitergebe und dann ausführen lasse. Muss da nicht noch irgendwelche extra sachen erfolgen oder das man es anderes macht mit SOAP-Header weitergeben oder so?

Weil wenn ich das weitergebe, dann müsst er sich doch laufend neu einloggen wenn er nicht nur eine funktion, sondern sagen wir mal 2 ausführt.

Geschrieben

Du kannst auch einfach ein Cookie setzen lassen durch deine Anwendung beim einloggen und dann bei deinere jeweiligen Anwendung das Cookie abfragen, ob es vorhanden ist, und falls ja, ob es noch gültig ist. Dem Cookie kannst du ja eine Gültigkeitsdauer geben, so dass es z.B. bei Inaktivität, oder wenn sich der User nicht ausloggt, sondern das Browserfenster einfach schliesst, ungültig wird.

Den Cookie kannst du dann von jeder deiner Anwendungen auslesen / aktualisieren lassen. Brauchst dann halt nur einmal ein script zum einloggen, das du auf jeder Seite includen könntest.

Geschrieben

Wie du die konkrete Umsetzung machst, musst du dir selbst überlegen, da niemand das System kennt.

Ich persönlich würde beim Login des Users die SessionID als Cookie hinterlegen und über den WS auslesen und entsprechend prüfen, das setzt natürlich voraus, dass der User sich erst einmal anmelden muss. Schwieriger wird es, wenn das in beide Richtungen funktionieren soll, sprich, ich kann mich auch über den WS anmelden.

Phil

Geschrieben

Was heisst hier "nicht unbedingt immer"? :confused:

Wie ruft man denn sonst eine Webseite auf, wenn nicht über einen Browser?

Oder habe ich dich da jetzt falsch verstanden? :confused:

Irgendwie drückst du dich sehr unverständlich aus, anstatt mal endlich auf den Punkt zu kommen, was du eigentlich willst.

Wenn es eine Webseite ist --> Browserauthentifizierung per Cookie oder htaccess

Wenn es in einer Anwendung läuft --> entweder in der Anwendung eine Variable dafür vorsehen, oder aber das in der Datenbank speichern.

Geschrieben

hmm also diese Anwendung läuft ja mit einen Programm gebunden und hat auch die Möglichkeit von einen anderen Ort aus auf dieses durch Web zuzugreifen.

Vergessen wir einfach die cookiesache.

Ich habe noch was von Usertokkens gehört, welche mir zur Zeit am sinnvollsten erscheinen, aber ich weis nicht dirket wie ich da vorgehen muss usw.

Danke

  • 2 Wochen später...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...