Autor Beitrag
Schafschaf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 63
Erhaltene Danke: 2

Windows 10
C# (VS 2015)
BeitragVerfasst: Mo 23.01.17 19:24 
Hallo,

ich würde gerne eine eigene Authentifizierung in meinem WCF Dienst hinzufügen.
Dazu habe ich folgende Idee:

In der Datenbank steht Username und ein Hash vom Passwort.
Der WCF Dienst stellt eine Methode bereit, bei der sich der Client sich mit Username und Pw authentifiziert und
bei Erfolg bekommt der Client ein Random-Token was der Server sich merkt.
Alle anderen WCF-Methoden (die Daten zurückgeben) wollen als Parameter ein Token und nur bei Übereinstimmung dieses Tokens
geben sie Daten zurück, ansonsten null.
Das Token soll eine bestimmt Lebensdauer haben und ablaufen wenn der Client nichts tut bzw. sich verlängern wenn der Client was tut, sodass er sich erneut anmelden muss wenn er länger als x Minuten nichts tut.

Die Grund dafür ist, dass die Dauer einer Session begrenzt ist und sich das ohne viel Zeitaufwand in meinen bestehenden WCF Dienst ohne Anmeldung integrieren ließe.

Natürlich würde die Kommunitkation mit dem WCF Dienst über HTTPS laufen.

Ich weiß dass WCF selbst auch eine Authentifizierung hat aber ich finde es besser wenn eine Session ablaufen kann.

Würdet ihr dieses Konzept als sicher erachten?
Ich kenne mich mit IT Sicherheit leider nicht so gut aus.

Für Hinweise auf Fehler und Verbesserungsvorschläge bin ich offen und freue mich :)

LG Schafschaf
m.keller
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 130

Win xp, Win 7
C# (VS 2008)
BeitragVerfasst: Di 02.05.17 18:19 
Willkommen Schafschaf,

Ich verstehe nicht warum du das Rad neu erfinden möchtest?
Du kannst deine WCF-Schnittelle so einrichten, dass dort die Session auch nach einer X-Zeit abläuft und der Client sich neu verbinden muss.

_________________
Der gesunde Menschenverstand ist nur eine Anhäufung von Vorurteilen, die man bis zum 18. Lebensjahr erworben hat. (Albert Einstein)