Laden...

Wie geht ASP.NET Authentifizierung (self hosted) richtig?

Erstellt von sandreas vor einem Jahr Letzter Beitrag vor einem Jahr 904 Views
S
sandreas Themenstarter:in
29 Beiträge seit 2022
vor einem Jahr
Wie geht ASP.NET Authentifizierung (self hosted) richtig?

Hallo zusammen,

ich würde gerne eine kleine Web-API für meine private Nutzung schreiben. Hier würde ich ungern auf einen Remote-Authentifizierungs-Server oder die Cloud zugreifen, sondern das ganze Anwendungsbezogen speichern, z.B. in einer SQLite Datenbank.

Jetzt möchte ich natürlich auch nicht von anfang an ein riesiges Loch in meine Anwendungs-Sicherheit bohren, daher möchte ich mich vorher mal etwas einlesen.

Ich hätte jetzt erstmal an eine simple Passwort-Authentifizierung mittels Benutzer-Tabelle mit Passwort-Hashes gedacht. Macht man sowas heute noch? Falls ja, hat jemand ein Beispiel oder eine Ressource, wo ich nachlesen kann wie?

Falls nein, wie würde man es machen, ohne gleich die Cloud mit einbeziehen zu müssen?

Vielen Dank und viele Grüße
Andreas

T
2.224 Beiträge seit 2008
vor einem Jahr

Hier solltest du dir mal OAuth2 mit der WebAPI von Microsoft anschauen.
Dort gibt man dann im Header ein Token anstelle der Credentials mit.

Dok:
Sichern einer Web-API mit einzelnen Konten und lokaler Anmeldung in ASP.NET-Web-API 2.2

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

S
sandreas Themenstarter:in
29 Beiträge seit 2022
vor einem Jahr

Hier solltest du dir mal OAuth2 mit der WebAPI von Microsoft anschauen.

@T-Virus
Cool, schon mal danke, das war lesenswert. Ich hab noch das hier gefunden: https://www.c-sharpcorner.com/UploadFile/ff2f08/token-based-authentication-using-Asp-Net-web-api-owin-and-i/

Das werde ich auch mal ausprobieren. Weitere Resourcen, die lesenswert sind, werde ich hier auch mal posten, damit andere meine Erfahrungen nachlesen können 🙂

16.834 Beiträge seit 2008
vor einem Jahr

Ich hab noch das hier gefunden:
>

Das ist eine uralte Basis, die es in der Form nicht mehr gibt. Da sind wir schon drei Generationen weiter.
Daher basiert das Beispielprojekt aus Deinem Link auch auf .NET 4.5, was schon lange lange abgekündigt ist.

S
sandreas Themenstarter:in
29 Beiträge seit 2022
vor einem Jahr

Danke. Das ist genau der Mist, mit dem ich mich aktuell rumschlage... es gibt tonnenweise veraltete Tutorials und dazu noch sehr viele Varianten offiziell von Microsoft... nicht leicht zu durchschauen. Ich hab mit der offiziellen Microsoft-Dokumentation oft noch so meine Schwierigkeiten, das ist irgendwie kein Schreibstil, den ich leicht verinnerliche.

C# bewegt sich echt schnell... Ich werde sicher in den nächten Tagen dazu kommen, mir das mal genauer anzuschauen, dann stelle ich weitere Fragen, falls nicht nicht zurecht komme. Vielen Dank.

16.834 Beiträge seit 2008
vor einem Jahr

C# ist eine Programmiersprache, .NET die Runtime und das Ökosystem.
[FAQ] Das .NET Ökosystem - .NET, .NET Core, .NET Standard, NuGet und Co

Die Microsoft Dokumentation ist sehr vielen Jahren die absolute Nummer 1 Anlaufstelle und wird parallel zur Weiterentwicklungen der Technologien gepflegt.
Die MS Docs werden auch von Content Erstellern geschrieben, die maßgeblich aus der Open Source bzw. Community Szene kommen und teilweise mittlerweile bei Microsoft sind. Das ist also pauschal gesagt ein üblicher Schreibstil, der so gewünscht und gewohnt ist.

Du wirst nirgends ein Tutorial finden, in keiner Technologie, die Dich einfach an die Hand nimmt und Dir ein Beispiel gibt, das überall für jedes Szenario funktioniert.
Tech Tutorials und Docs sind so geschrieben, dass Du etwas lernst und dann selbst für Deinen Fall adaptieren und anwenden musst.

es gibt tonnenweise veraltete Tutorials und dazu noch sehr viele Varianten offiziell von Microsoft

Das ist die Kunst als Entwickler filtern zu können. Auch das muss man lernen, egal mit welcher Technologie man agiert.
Das ist niemanden in den Schoß gefallen 🙂

Wenn aber ein Beispiel irgendwo ein .NET Framework zeigt, das nicht nur abgekündigt sondern nicht mal mehr supported wird, dann sollten alle Alarmglocken schrillen 😉

S
sandreas Themenstarter:in
29 Beiträge seit 2022
vor einem Jahr

Ja, ich sollte mehr auf die Termini achten. Ich bin seit 18 Jahren Entwickler und kenne mich mit Dokumentation normalerweise gut aus. Microsoft schafft es nur irgendwie nicht, die für mich wesentlichen Infos auf einen Nenner zu bringen. Obwohl ich nach langen Artikeln die Materie besser "verstehen" würde, ist es oft der Quickstart, der mich ins Thema reinbringt. Da hat Microsoft auf jeden Fall noch Nachholbedarf wie ich finde.

Aber du hast recht... ich werde mich jetzt noch mal optimistisch an die Sachen dranwagen und einfach mal ein paar Tage nur Lesen / Experimentieren, statt mit einem Projekt vor Augen eine schnelle Lösung finden zu wollen...

Danke für Eure Hilfe. Ich hab jetzt keinen Bedanken Button gefunden... wollte es nur erwähnt haben.

16.834 Beiträge seit 2008
vor einem Jahr

Microsoft auf jeden Fall noch Nachholbedarf wie ich finde.

Wie gesagt, die Docs macht Microsoft nicht alleine, sondern maßgeblich via Open Source. Du sagst daher, dass die gesamte Open Source Gemeinde Nachholbedarf hat.
Die Docs sind nicht perfekt, wie nirgends, aber dennoch schwierige Aussage finde ich 🙂

Du wirst das adaptieren müssen, egal mit welcher Technologie.
Ob Du das gut findest oder nicht 😉

S
sandreas Themenstarter:in
29 Beiträge seit 2022
vor einem Jahr

Es mag so klingen... ich verstehe auch deinen Punkt. Aber zunächst mal würde es mir nie einfallen, jemanden unnötig zu kritisieren, der seine Arbeit kostenlos oder mit einer Passion für die Sache macht (Open Source Community). Ich bin selbst Open Source Entwickler und kann daher sehr gut nachvollziehen, wie man sich da fühlen würde.

Ich habe auch nicht gesagt, dass die Open Source Gemeinde Nachholbedarf hat, sondern Microsoft. Wenn die sich darauf verlassen, die Doku kostenlos von Freiwilligen pflegen zu lassen, sehe ich da jedenfalls Nachholbedarf. Das mag man aber anders sehen.

Anders gesagt: Die Doku, die Microsoft zur Verfügung stellt (wer auch immer sie schreibt), holt mich nicht ab / sagt mir nicht zu... Allerdings schweife ich zu weit vom Thema ab: Du hast recht, wenn es nach Meinung der Spezialisten hier (und dieses Attribut schreibe ich euch nach dem Lesen eurer Beiträge hier durchaus zu) die aktuellste / beste Doku ist, die es gibt, dann werde ich mich da durch quälen müssen, auch wenn ich finde, das es viel zu viel Prosa und viel zu wenige Beispiele gibt - ich lese vermutlich einfach lieber sauberen Code 🙂

Nix für ungut, ich bin für jeden Link und für jede Hilfe dankbar... aus meiner Verzweiflung bezüglich der Doku ist dieser Post ja erst entstanden.